22
1 KULLANICI TANIMLI VERİ TABANI FORMLARI Series 9000 SQL programlarında kullanıcıların veritabanına tablolar ve View’lar ilave etmeleri mümkündür. Eklenen bu tablolara veri girişinin yapılabilmesi için giriş ekranlarına ihtiyaç vardır. Programımız bu ekranları dilediğiniz şekilde tasarlamanıza imkan sağlamaktadır. Ayrıca bu verileri DBRapor bölümünü kullanarak raporlayabilirsiniz. Hazırlayacağınız formları programın veritabanına bağlı yada tamamen bağımsız olarak kullanabilirsiniz. 1.1 Form hazırlama ekranlarına ve Form’lara ulaşma. Kart yada Evrak ekranlarında sağ klik ile yada lokal menü tuşuna tıklayarak kullanıcı tanımlı formlar menüsüne ulaşabilirsiniz. Bu menüye tıkladığınızda bu ekran ve tablo ile ilişkili form’lar listelenecektir. Menüden girmek istediğiniz formu tıklamanız, yada aynı menünün sol tarafında gösterilen kısa yol tuşuna basmanız (tanımlı ise) formu kullanabilmeniz için yeterli olacaktır. Ayrıca eğer SRV kullanıcısı ile sisteme girdiyseniz, Form düzenleyici menüsü de gözükecektir. Bu menüden de form ve tablo tasarım ekranına girebilirsiniz. Ctrl+Shift+F tuşu da aynı işlemi yapmaktadır. Eğer hazırlanan form’ların kart’taki bilgilerle ilişkisi varsa formun sağlıklı çalışabilmesi için form’a girmeden önce kayıt çağırmanız gerekmektedir, aksi takdirde sık sık uyarılar ve hatalarla karşılaşabilirsiniz. 1.2 Çalışma sistemi Bu sistem \\SERVER\Mikrov14xx\MIKROSYS ve \\SERVER\MikroV14xx\FIRMA\SYSTEM dizinindeki dosyalarla çalışmaktadır. Yeni yaratılan dosyalar da bu dizinlere yaratılmaktadır. FormList.ini dosyasına hangi 9000 Tablosu ile hangi form dosyasının ilişkili olduğu kaydedilmektedir. Frm uzantılı dosyalar form dosyalarıdır. DS uzantılı dosyalarsa veritabanı bilgilerinin saklandığı dosyalardır. Bunların sayısında bir sınırlama yoktur. 1.3 FormList.ini FormList.ini dosyası hazırlanmış form dosyaları ile program içindeki tablolar arasında bir bağlantı oluşturur. Ayrıca menüde gözükecek cümlelerin ne olacağını hangi kısa yol tuşuyla bunlara ulaşılabileceiğini belirler. FormList.ini yerine FormList<Kullanıcı Kodu>.ini şeklinde isim verilerek kullanıcılara özel hale getirilebilir. Örneğin FormListSRV.ini gibi. Program bu dosyayı öncelikle Firma dizininin altında arar. Arama öncelikle çalışan kullanıcıya özel bir FormList.ini dosyası olup olmadığına bakılarak başlar. Eğer bu bulunamazsa genel dosyaya bakılır. Eğer bu da bulunamazsa aynı kontrol MIKROSYS dizininde yapılır. Eğer burada da bulunamazsa yeni yaratılacak dosya Firma dizininin altında SYSTEM dizininin içinde olacaktır ve FormList.ini şeklindedir. Yani tüm firma kullanıcılarının kullanımı için ortaktır. Bu dosya uygun dizinlerde olmak şartıyla diğer dosyalar başka bir lokasyona da hazırlanabilir. Bu sayede kullanıcıların erişim hakları NT ortamında düzenlenebilir.

1 KULLANICI TANIMLI VERİ TABANI FORMLARI - … Ekran Dizayni.pdf · 1 KULLANICI TANIMLI VERİ TABANI FORMLARI Series 9000 SQL programlarında kullanıcıların veritabanına tablolar

Embed Size (px)

Citation preview

Page 1: 1 KULLANICI TANIMLI VERİ TABANI FORMLARI - … Ekran Dizayni.pdf · 1 KULLANICI TANIMLI VERİ TABANI FORMLARI Series 9000 SQL programlarında kullanıcıların veritabanına tablolar

1 KULLANICI TANIMLI VERİ TABANI FORMLARI

Series 9000 SQL programlarında kullanıcıların veritabanına tablolar ve View’lar ilave etmeleri mümkündür. Eklenen bu tablolara veri girişinin yapılabilmesi için giriş ekranlarına ihtiyaç vardır. Programımız bu ekranları dilediğiniz şekilde tasarlamanıza imkan sağlamaktadır. Ayrıca bu verileri DBRapor bölümünü kullanarak raporlayabilirsiniz. Hazırlayacağınız formları programın veritabanına bağlı yada tamamen bağımsız olarak kullanabilirsiniz.

1.1 Form hazırlama ekranlarına ve Form’lara ulaşma.

Kart yada Evrak ekranlarında sağ klik ile yada lokal menü tuşuna tıklayarak kullanıcı tanımlı formlar menüsüne ulaşabilirsiniz. Bu menüye tıkladığınızda bu ekran ve tablo ile ilişkili form’lar listelenecektir. Menüden girmek istediğiniz formu tıklamanız, yada aynı menünün sol tarafında gösterilen kısa yol tuşuna basmanız (tanımlı ise) formu kullanabilmeniz için yeterli olacaktır. Ayrıca eğer SRV kullanıcısı ile sisteme girdiyseniz, Form düzenleyici menüsü de gözükecektir. Bu menüden de form ve tablo tasarım ekranına girebilirsiniz. Ctrl+Shift+F tuşu da aynı işlemi yapmaktadır. Eğer hazırlanan form’ların kart’taki bilgilerle ilişkisi varsa formun sağlıklı çalışabilmesi için form’a girmeden önce kayıt çağırmanız gerekmektedir, aksi takdirde sık sık uyarılar ve hatalarla karşılaşabilirsiniz.

1.2 Çalışma sistemi

Bu sistem \\SERVER\Mikrov14xx\MIKROSYS ve \\SERVER\MikroV14xx\FIRMA\SYSTEM dizinindeki dosyalarla çalışmaktadır. Yeni yaratılan dosyalar da bu dizinlere yaratılmaktadır. FormList.ini dosyasına hangi 9000 Tablosu ile hangi form dosyasının ilişkili olduğu kaydedilmektedir. Frm uzantılı dosyalar form dosyalarıdır. DS uzantılı dosyalarsa veritabanı bilgilerinin saklandığı dosyalardır.

Bunların sayısında bir sınırlama yoktur.

1.3 FormList.ini

FormList.ini dosyası hazırlanmış form dosyaları ile program içindeki tablolar arasında bir bağlantı oluşturur. Ayrıca menüde gözükecek cümlelerin ne olacağını hangi kısa yol tuşuyla bunlara ulaşılabileceiğini belirler. FormList.ini yerine FormList<Kullanıcı Kodu>.ini şeklinde isim verilerek kullanıcılara özel hale getirilebilir. Örneğin FormListSRV.ini gibi. Program bu dosyayı öncelikle Firma dizininin altında arar. Arama öncelikle çalışan kullanıcıya özel bir FormList.ini dosyası olup olmadığına bakılarak başlar. Eğer bu bulunamazsa genel dosyaya bakılır. Eğer bu da bulunamazsa aynı kontrol MIKROSYS dizininde yapılır. Eğer burada da bulunamazsa yeni yaratılacak dosya Firma dizininin altında SYSTEM dizininin içinde olacaktır ve FormList.ini şeklindedir. Yani tüm firma kullanıcılarının kullanımı için ortaktır. Bu dosya uygun dizinlerde olmak şartıyla diğer dosyalar başka bir lokasyona da hazırlanabilir. Bu sayede kullanıcıların erişim hakları NT ortamında düzenlenebilir.

Page 2: 1 KULLANICI TANIMLI VERİ TABANI FORMLARI - … Ekran Dizayni.pdf · 1 KULLANICI TANIMLI VERİ TABANI FORMLARI Series 9000 SQL programlarında kullanıcıların veritabanına tablolar

1.4 Form hazırlama ekranı

Eğer Supervisor kullanıcısı iseniz (SRV) Form düzenleyici menüsünü görebilirsiniz. Buna

tıkladığınızda yeni bir form açılacaktır. Ctrl+Shift+F tuşu da aynı işlemi yapmaktadır: Bu form hertürlü düzenleme işleminin yapıldığı ekrandır.

İlk girdiğinizde bu ekran tamamen boş gelecektir. Eğer mevcut bir form üzerinde değişiklik yapmak isterseniz Dosya menüsünden aç’ı tıklayarak işleme başlayabilirsiniz. Buradan dosyayı seçerken dosyanın disk üzerindeki fiziksel ismini bilmeniz gerekir. Bunun yerine Araçlar-formlar menüsünden form seç... menüsünü tıklayarak ( yada F11 tuşuna basarak ) geldiğiniz Kart yada Evrak tablosu ile

ilişkili formların listesini alabilir ve bunlardan birini seçerek üzerinde değişiklik yapabilirsiniz. Ekran ilk açıldığında yeni bir form tasarımı için açılır, ancak bir formu düzenlemek üzere açar daha sonra yenisini hazırlamaya karar verirseniz yada birşeyler hazırlayıp daha sonra bundan vazgeçer ve yeni bir tasarım yapmak isterseniz yine Dosya menüsünden Yeni’yi tıklayarak bunu

gerçekleştirebilirsiniz.

1.4.1 Veri tabanı yönetimi

Yeni bir form tasarlarken öncelikle Veri tabanı yönetim ekranına girmeniz gerekmektedir. Burada form’unuzda kullanacağınız veritabanı ögelerini seçmeniz gerekir. Eğer var olan kaynaklar size yeterli gelmezse aynı ekrandan yeni ögeler ve sorgular hazırlayabilirsiniz. Bu ekrana ulaşmak için Form tasarım ekranından Araçlar-Veritabanı menüsünün altında veri tabanı yönetimi... menüsünü tıklayın. (Bu menüye F9 tuşu ile de ulaşabilirsiniz.)

1.4.1.1 Bağlantı ve Veri Kaynakları ağacı

Formun en solunda bulunan ağaç yapısı bu formun temel yöneticisidir. Öncelikle iki dala ayrılır : Veri tabanı bağlantıları ve Dizayn veri kaynakları.

1.4.1.1.1 Veri tabanı bağlantıları

Programın kurduğu veri tabanı bağlantılarını listeler. Burada gözüken bağlantı dallarının altında bulunan Tables ve Views dalları o veri tabanına ait SQL tablolarını ve View’ları listeler. Series 9000 SQL programları dört veritabanı kullanır ve herbirine ayrı bağlantı kurar. Bunlardan

Page 3: 1 KULLANICI TANIMLI VERİ TABANI FORMLARI - … Ekran Dizayni.pdf · 1 KULLANICI TANIMLI VERİ TABANI FORMLARI Series 9000 SQL programlarında kullanıcıların veritabanına tablolar

GlobalADOConnection ve MainADOConnection bağlantıları en çok kullanılan temel bağlantılardır.

GlobalADOConnection bağlantısı her firma için ortak kullanılan verileri içerir. MainADOConnection ise o anda üzerinde çalışılan Firma veritabanını gösterir. Bağlantı dalına tıkladığınızda Tables ve Views dalları açılır. Bunlara tıkladığınızda ise o veritabanına ait tablo ve viewları ayrı ayrı görebilirsiniz. Tables dalına konumlandıktan sonra mouse’u sağ kliklediğinizde Tablo ekle menüsü gelir. Bu

menüye klikleyerek veritabanına yeni bir tablo ilave edebilirsiniz.Ekleme sırasında öncelikle Tablo düzenleme formu ekrana gelir, tasarımınız bittikten sonra yaratılacak tablonun adını sorar. Tablo düzenleme ekranının detayları daha ilerde anlatılacaktır. Var olan bir tablonun üzerine gelip sağ klik yaparsanız Tabloyu düzenle ve Tabloyu kaldır seçeneklerinin bulunduğu bir menü gelecektir.

Tabloyu düzenle seçimini kliklerseniz yine Tablo düzenleme formu karşınıza çıkacaktır. Eğer seçtiğiniz tablo sizin hazırladığınız tablolardan biri değilse bu seçenekler kullanılamaz olarak gelecektir. Bunun nedeni programın kendi içinde tutarlılığının bozulmasına ve güncelleme işlemleri sırasında verilerinizin kaybolmasına engel olmaktır. Views dalının altında ilgili veritabanına ait view’ları göreceksiniz. Bunlardan birinin üzerine gelip sağ klik yaparsanız View’ı kaldır menüsü gelir. View’lar veri içermediği için view’ları silme konusunda bir kısıt getirilmemiştir. Eğer yanlışlıkla silerseniz yada tekrar geri getirmek isterseniz KUR9000 programından bunu gerçekleştirebilirsiniz. View düzenleme ekranı, buna bağlı olarak yeni view yaratma ekranı henüz hazırlanmamıştır.

1.4.1.1.2 Dizayn Veri kaynakları

Bu dalın altında bulunan dallarsa form üzerinde kullanılması düşünülen sorgulardır. Formunuzda bir yada daha fazla sorguyu aynı anda kullanabilirsiniz. Yada aynı ana tabloyla ilişkili tüm sorgularınızı tek bir .DS dosyasında toplayıp yeni form tasarımlarında bunu çağırabilirsiniz. Formun sağ yanındaki

düzenleme ekranlarının çalışabilmesi için öncelikle bir verikaynağının seçilmiş olması gerekmektedir. Eğer mevcut bir veri kaynağı yoksa Dizayn verikaynakları dalının üzerinde sağ klik yaparak sorgular... menüsünden sorgu ekle menüsünü seçerek yeni bir veri kaynağı yaratabilirsiniz. Bu

işlemin ardından Dizayn verikaynakları dalının altına YeniSorguXXX isminde bir dal eklenir. Bunu seçip F2 tuşuna basarak ( Yada Düzen menüsünde ismini değiştir’i tıklayarak) ismini değiştirin ve

hazırlayacağınız sorguyu ifade eden bir isim verin. Eğer hazırladığınız sorguyu kaldırmak isterseniz, sorguyu seçip sağ klik yapın. Sorgular... menüsünün altında sorguyu kaldır menüsünü tıklayın.

1.4.1.2 Sorgu tasarım bölümü

Formun sağ tarafında bulunan ekran bölümleri Dizayn veri kaynağının tasarımını yapmak içindir. Elbette öncelikle tasarlanacak dizayn veri kaynağının seçilmesi gerekir. Seçim yapıldıktan sonra Sorgu tasarım sayfasını tıklayın. Veri tabanı bağlantıları bölümünden ilgili bağlantıyı ve kullanmak istediğiniz tablo yada view’ı seçin, sonra bunu mouse ile tutup Sorgu tasarım sayfasının üzerine

taşıyın. Eğer kullanılabilir bir tablo ise mouse’un işareti değişecektir. Bu durumda sorgu tasarım ekranında bu tablonun alanlarının listesini içeren bir kutucuk görünecektir. Bu kutudan kullanmak istediğiniz alanları seçin yada sadece ilk kutucuğu ( * işaretini ) işaretleyerek tüm alanları kullanacağınızı söyleyin. Eğer hazırladığınız form’da bilgi girişi yapmayı düşünmüyorsanız birden fazla tablo için aynı işlemi yaparak karmaşık kaynaklar hazırlayabilirsiniz. Ancak kayıt işlemi yapacaksanız sorgunun içerisinde bir tablo olması ( yada ana tablo dışındaki alanların güncellenmeyeceği bir form olması ) gerekmektedir. Eğer birden fazla tablo kullanacaksanız bunların bağlantı alanlarını kullanarak join kurmanız gerekmektedir. Join kurmak için detay tablosunun

bağlantı kurulacak alanını tutup ana tablonun bağlantı kurulacak alanının üzerine taşıyın. Kurulan bağlantı noktasına sağ kliklediğinizde bağlantının nasıl yapılacağını soran bir menü çıkacaktır.

Remove : bağlantıyı kaldırır. All rows from XXX : Detay tablonun, ana tabloda karşılığı olmasa da tüm

kayıtlarını getirir.

Page 4: 1 KULLANICI TANIMLI VERİ TABANI FORMLARI - … Ekran Dizayni.pdf · 1 KULLANICI TANIMLI VERİ TABANI FORMLARI Series 9000 SQL programlarında kullanıcıların veritabanına tablolar

All rows from YYY : Ana tablonun, detay tabloda karşılığı olmasa da tüm kayıtlarını getirir. Properties : Bağlantının detaylarını gösterir.

Eğer hazırladığınız sorguda hesaplama işlemleri yaptırmak istiyorsanız ( ki bu durumda kayıt işlemi yapamazsınız ) Group by cümlesini kullan seçimini işaretlemelisiniz. Bu durumda alttaki tabloda Group By kolonu aktif hale gelecektir ve üzerinde bulunduğunuz kolonla ilgili yapabileceğiniz işlemleri gösterecektir. Sort Type ve Sort Order kolonlarındaki değerleri değiştirerek sonuç listesinin

sıralamasını değiştirebilirsiniz. Eğer farklı tablolardan gelen ancak ismi aynı olan kolonlar kullanacaksanız o zaman Alias kolonundaki değeri değiştirerek kolonların taşıyacakları yeni isimleri belirleyebilirsiniz. Criteria kolonunu kullanarak üzerinde bulunulan kolonla ilişkili kısıtlar

getirebilirsiniz.

Dizayn veri kaynaklarını istediğiniz sayıda hazırlayabilirsiniz. Ayrıca bunları aynı form üzerinde bağlantılı olarak da kullanabilirsiniz. Formun üzerinde Düzenlenen veri kaynağının hangisi olduğu gösterilmektedir. Bağlantı veri kaynağı ise hazırlanan veri kaynağının anahtar bilgileri alacağı veri kaynağını gösterir. Bunu bir örnekle açıklayalım. Her bir müşteri için Servis Formları tasarladığımızı düşünelim. Her bir müşteri için birden fazla Servis form’u olabilir. Her bir Servis formunda da birden fazla sorun olabilir. SERVISFORMU verikaynağı’nı hazırlarken Bağlantı veri kaynağı alanı Program’ı gösterecektir. (Elbette ki sayfanın müşteri kartından açıldığını varsayıyoruz.) Bu durumda Musteri tablosundaki Musteri Kodu ile SERVISFORMU tablosundaki Musteri Kodu birbirine bağlanabilir. SORUNLAR veri kaynağını tasarlarkense Bağlantı veri kaynağı SERVISFORMU olacaktır ve SERVISFORM’unun kayıt numarası ile SORUNLAR tablosundaki srn_srvKayitNo ile eşlenecektir. Oluşan SQL cümlesini Sorgu ve Sonuç değerleri sayfasından görebilirsiniz. Bu bölümde SQL

cümlesini göreceksiniz. Transact-SQL üzerine bilginiz yoksa bu ekranda bir değişiklik yapmayınız. Eğer bu ekranda iken sağ klik yaparsanız karşınıza aşağıdaki menü çıkacaktır. Bağlantı veri kaynağı

ekle seçimini yaparsanız program ana verikaynağının alanlarını listeleyen bir ekran getirir ve seçmenizi bekler.Seçiminizi ekranda imlecin bulunduğu yere yerleştirir. ( Bağlantı veri kaynağından gelen alanlarla SQL cümlesinden gelen alanları birbirinden ayırabilmek için bunların

başında “:” işareti bulunacaktır.) SQL cümlesinden gelen ekle seçimi de benzer şekilde çalışır, sorgu

tasarım ekranında seçtiğiniz tablo yada view’ların alanlarını listeler. Eğer bağlantı veri kaynağı ile hazırladığınız SQL cümlesinin bağlantı alanlarının isimleri aynı ise Where cümlesini yarat komutu

ile cümlenin tamamını daha kolay hazırlayabilirsiniz. Eğer hazırladığınız sorgu size yeterli gelmezse ( ve Transact-SQL bilginiz varsa ) istediğiniz ilaveleri ve değişiklikleri bu ekrandan yapabilirsiniz. Ancak bu durumda sorgu tasarım ekranında “Artık SQL cümlesi üzerinden değişiklik yapacağım” alanı seçili hale gelir ve bu ekranda bir işlem yapmanıza izin vermez.Eğer bu işareti kaldırırsanız tekrar burada değişiklik yapabilir hale gelirsiniz ancak o zaman da Sorgu ve sonuç değerleri ekranında yaptığınız değişiklikler yok olur. Hazırlıklarınızı tamamladıktan sonra Sorgular menüsünden Çalıştır’ı kliklediğinizde (yada F5 tuşuna bastığınızda ) sorgunun sonuçları alttaki tabloda gösterilir. Eğer programla bağlantılı bir verikaynağı

oluşturduysanız sorgu sonuçlarınız giriş yaptığınız karttaki o anki değerlere göre oluşacaktır.

1.4.1.3 Genel işlemler

Dizayn veri kaynaklarını hazırladıktan sonra bu yapıyı daha sonra kullanabilmek için kaydedebilirsiniz. Kaydetmek için Veritabanı menüsünden Kaydet’i seçin. ( yada Ctrl-S tuşuna

basabilirsiniz. ) Program size dosyanın ismini soracaktır. İsmini verirken hazırladığınız dizayn veri kaynaklarını hatırlatacak bir isim olmasına önem vermenizi tavsiye ederiz. Tüm bu işlemler tamamlandıktan ve form dizayn ekranına geri dönmeden önce Veri tabanı menüsünden Formu Güncelle’yi seçin. ( yada F7 tuşuna basın ). Bunu yapmadığınız sürece form

dizayn ekranında hazırladığınız dizayn verikaynaklarını kullanamazsınız.

Page 5: 1 KULLANICI TANIMLI VERİ TABANI FORMLARI - … Ekran Dizayni.pdf · 1 KULLANICI TANIMLI VERİ TABANI FORMLARI Series 9000 SQL programlarında kullanıcıların veritabanına tablolar

1.4.2 Dizayn Modu

Form hazırlama ekranında Araçlar-Formlar menüsünde Formu dizayn et’i tıklarsanız ( yada F6

tuşuna basarsanız ) formu dizayn etmeye başlayabilirsiniz. Bu durumda araç çubuğundaki ögeler kullanılabilir hale gelecektir. Formu dizayn etme işlemi normal formlarda bulunan Ekran Düzenleyicisi’ne benzer. Formun üzerine koymak istediğiniz ögeyi araç çubuğunda işaretleyin.

Sonra formun üzerinde yerleştirmek istediğiniz bölgeyi tarayın. Bu durumda bir kutu oluşacaktır ve seçtiğiniz öge bu kutunun içerisine yerleşecektir. Sol tarafa açılan pencerede (Özellikler ekranı) formun üzerinde bulunan ögelerin bir listesi ve seçili ögenin özellikleri bulunmaktadır. Bu özellikleri değiştirebilirsiniz. Seçimlik bazı özellikler İngilizce yada garip ifadelerle yazmaktadır. Bu bizim programları hazırlarken kullandığımız araçlardan kaynaklanmaktadır. Seçim yapma ekranlarında böyle bir durum yoktur.

1.4.2.1 Özellikler Ekranı

Özellikler ekranında düzenleme birkaç türlü olabilir. Özellik hem karakter hem de sayı alabilen bir yazı olabilir. Bu durumda almasını istediğiniz değeri alana yazın. Benzer şekilde bu alan sadece sayı olabilir. Doğru yada yanlış değeri alabilen bir seçim alanı olabilir. Bu durumda özellik doğru ise (

Örneğin : Görülebilir ? Doğru ) işareti Yanlış ise işaretinin olmasını sağlayın. Bunun için alanın

üzerine Mouse ile kliklemeniz yeterli olacaktır. Eğer düzenlediğiniz alanda işareti varsa bu alandaki yazıyı değiştirmeye çalışmayın, sadece bu butona basın. Bunun sonucunda yeni bir pencere açılacak ve kapsamlı bir düzenleme yapmanızı sağlayacaktır. Şimdi bu listede görebileceğiniz özellikleri ve nasıl kullanabileceğinizi açıklayalım.

1.4.2.1.1 Başlık

Üzerinde bir yada birkaç kelimelik yazı bulunan tüm ögelerde bu özellik mevcuttur ve yazının içeriğini gösterir. Bunu değiştirdiğiniz takdirde ögenin üzerindeki yazı da değişecektir. Örneğin Düz yazı ögesi veya Buton ögesi gibi.

1.4.2.1.2 Sol Kenar, Üst Kenar, Genişlik, Yükseklik

Bu 4 özellik tüm ögelerde bulunur. Ögeyi formun üzerinde nereye yerleştirdiğinizi gösterir. Sol Kenar ögenin sol kenarının formun Sol kenarına ne kadar uzaklıkta olduğunu, Üst kenar ögenin üst kenarının formun üst kenarına ne kadar uzaklıkta olduğunu, Genişlik ögenin sol kenarı ile sağ kenarı arasındaki mesafeyi, Yükseklik de Üst kenar ile alt kenar arasındaki mesafeyi gösterir. Bu değerleri değiştirerek ögenin yerini ve boyutlarını değiştirebilirsiniz. Aynı işlemi öge seçiliyken üzerinde bulunan siyah kareleri mouse ile hareket ettirerek de yapabilirsiniz.

1.4.2.1.3 Sabitleyiciler

Bu özellik tüm ögelerde bulunur. Formun büyütülmesi yada küçültülmesi durumunda ögenin davranışının nasıl olacağını belirler. Sabitleyiciler ögenin, içinde bulunduğu ögenin kenarlarına olan uzaklığını sabitlerler. Ayar butonuna bastığınızda karşınıza yandaki seçimlerin bulunduğu bir ekran gelecektir. Buradan istediğiniz şekilde seçimleri ayarlayabilir ve ögenin hangi kenara (yada kenarlara) göre sabit kalacağını belirtebilirsiniz. Eğer dördünü birden seçili hale getirirseniz formu büyütüp küçülttüğünüzde öge’de aynı

oranda büyüyüp küçülecektir. Eğer Sağdan bağlı ve alttan bağlı seçimlerini işaretlerseniz formun büyüklüğünü değiştirdiğinizde öge formun sağ köşesine uzaklığı sabit kalmak üzere hareket edecektir.

Page 6: 1 KULLANICI TANIMLI VERİ TABANI FORMLARI - … Ekran Dizayni.pdf · 1 KULLANICI TANIMLI VERİ TABANI FORMLARI Series 9000 SQL programlarında kullanıcıların veritabanına tablolar

Eğer forma bir grup ögesi yerleştirir ve bunun içindeki ögelerin sabitleyicilerini ayarlarsanız sabitleme işlemi grup ögesine göre yapılacaktır. Aşağıda bununla ilgili bir örnek gösterilmektedir. DesignGroupBox1 ögesinin içindeki grid dört köşesinden sabitlenmiştir. Butonlarsa sadece sağ alt köşelerinden. DesignGroupBox1 de dört köşesinden sabitlenmiştir. Bu durumda iken formun büyüklüğü değiştirilirse yeni görüntü ikinci resimdeki gibi olacaktır. Aynı olay Sayfa seçimli grup ögesi için de geçerlidir.

1.4.2.1.4 Renk

Seçilen ögenin taban renginin ayarlanmasını sağlar.

1.4.2.1.5 Yazı şekli

Seçili öge eğer içinde yazı içeriyorsa (ki resim ögeleri hariç hepsi içerir) bu yazının şekilsel özelliklerinin ne olacağı bu özellik yardımıyla belirlenir.

1.4.2.1.6 Kolonlar

Tablo ekranlarının bir özelliğidir. Tablo üzerinde bulunan kolonların ayarlanmasını sağlar. Ayarlama işleminden önce tablonun veri içermesini sağlayın.Yani kurduğunuz Dizayn veri kaynağının bir sonuç üretmiş olması gerekmektedir. Aksi takdirde tablo ögesinde sadece bir kolon görebilirsiniz ve bunun için yaptığınız ayar da gerçek veriler geldiğinde iptal edilir.

1.4.2.1.7 Veri Kaynağı ve Veri Alanı

Bu özellikler ögenin veri tabanı ile bağlantısını kurar. Bu iki özellik ögenin temel bilgilerini hangi tablonun ( yada sorgunun ) hangi alanından okuyacağını belirtir. Aynı şekilde ögenin içinde veri değiştirildikten sonra kaydetme işleminde de bu alanlar kullanılır. Öncelikle Veri Kaynağı seçilmelidir.

Bu seçim yapıldıktan sonra Veri Alanı alanına Tablonun yada sorgunun bir kolonunu seçebilirsiniz.

Page 7: 1 KULLANICI TANIMLI VERİ TABANI FORMLARI - … Ekran Dizayni.pdf · 1 KULLANICI TANIMLI VERİ TABANI FORMLARI Series 9000 SQL programlarında kullanıcıların veritabanına tablolar

Veri alanı olarak seçeceğiniz alanlar seçtiğiniz veri kaynağında bulunan sorgunun sonuç değerinde bulunan kolon isimleri olduğundan öncelikle Veri kaynağı seçilmelidir.

1.4.2.1.8 Liste Veri Kaynağı, Liste Alanı ve Anahtar Alan

Karmaşık veritabanı ögelerinde bulunan özelliklerdir. Bu tip ögelerde bir liste bulunur ve bu listenin verileri başka bir veri kaynağından gelir. Esas veri kaynağından gelen veri için listeden bir e leman seçilir. Yada listeden bir seçim yaparak esas veri kaynağındaki değer değiştirilir. Burada Liste Veri Kaynağı, ögenin liste kısmında gözüken verilerin hangi kaynaktan alınacağını gösterir, Liste Alanı ise hangi sorgunun hangi kolonunun listede gözükeceğini gösterir. Anahtar alan ise listede seçim yapıldığında Liste Veri Kaynağından alınıp esas Veri Kaynağına yazılacak değerin hangi sorgu kolonundan alınacağını söyler. Bunu basit bir örnekle anlatalım : Veri Kaynağı : Rezervasyon Defteri Veri Alanı : Müşteri kodu

Liste Veri Kaynağı : Müşteriler tablosu Liste Alanı : Müşterinin ismi Anahtar Alan : Müşteriler tablosundaki Müşteri kodu

1.4.2.1.9 Resim Ögesi

Buton ögesinin bir özelliğidir. Eğer buton ögesinin operasyon özelliği opResimSec olarak verilmişse o zaman hangi Resim ögesi için resim seçmesini istediğinizi bu özelliği ayarlarak belirtmeniz gerekir.

1.4.2.1.10 Elemanlar

Bazı ögelerde seçimlerin önceden hazırlanması gerekmektedir. Bu tip ögelerde seçim listesi Elemanlar özelliği ile hazırlanır. Değiştirme işlemi sırasında herbir satır bir seçim olacak şekilde bir yazı giriş ekranı karşınıza gelir. Yeni satırlar ekleyebilir var olanları silebilirsiniz. Yapılan seçimler karşılığında eğer Veri tabanına bir değer yazmak gerekiyorsa bu değerin ne olacağı Değerler özelliği ile ayarlanır.

1.4.2.1.11 Değerler

Elemanlar özelliğini içeren bazı ögelerde (ki bunlar veritabanı ile ilişkli ögelerdir) Değerler özelliği bulunmaktadır. Bu özellik 1.4.2.1.8 de anlatılan Anahtar Alan’a benzer ancak bunun daha basit halidir. Elemanlar listesinde bulunan her bir ögeye karşılık bir tane değer yazılır. Elemanlar listesinde bulunan her bir satır için bu listede bir satır olması gerektiği aşikardır. Bağlı olduğu ögede eleman seçildiğinde aynı satır numaralı değer seçilir ve veri tabanına bu kaydedilir.

1.4.2.1.12 Resim

Eğer özellikleri düzenlenen ögenin üzerinde bir resim mevcutsa bu, resim özelliği ile değiştirilebilir.

1.4.2.1.13 Formun Sonucu

Buton ögesinin bir özelliğidir ve formun kapanmasını sağlar.

1.4.2.1.14 Operasyon

Buton ögesinin bir özelliğidir ve butonun nasıl bir işlem yapacağını belirtir. Buradaki seçime göre hangi özelliklere değer atanacağı değişir. Bunun ayrıntıları Buton ögesi anlatılırken açıklanacaktır.

Page 8: 1 KULLANICI TANIMLI VERİ TABANI FORMLARI - … Ekran Dizayni.pdf · 1 KULLANICI TANIMLI VERİ TABANI FORMLARI Series 9000 SQL programlarında kullanıcıların veritabanına tablolar

1.4.2.1.15 Kullanılabilir, Sayfa gözükür, Gözükür

Bu özelliklerin tümü Evet / Hayır seçimidir. Ögenin kullanılabilir durumda olup olmadığını yada gözükür durumda olup olmadığını belirlemenizi sağlar. Eğer bir ögeyi kullanılamaz yada gözükmez

olarak işaretlemişseniz dizayn sırasında bunu formun üzerinden seçmeniz mümkün olmayacaktır. Bu yüzden özellikler ekranının üst tarafında bulunan ağaç yapısını kullanabilirsiniz. Sayfa gözükür özelliği Sayfa seçimli grup ögesinin bir özelliğidir ve belli bir sayfanın gözüküp

gözükmeyeceğini söylemenize imkan tanır.

1.4.2.2 Ögeler

Form dizayn moduna geçtikten sonra üst tarafta bulunan alandaki ögeler aktif hale gelir ve aşağıdaki gibi gözükür. En solda bulunan mouse işaretli buton basılı ise herhangi bir öge koymak istemediğinizi gösterir.

Onun dışındaki tüm butonlar hazırlamakta olduğunuz forma bir öge yerleştirir. Öge yerleştirme işleminde öncelikle yerleştirmek istediğiniz ögenin butonuna basın, sonra formun üzerinde yerleştirmek istediğiniz alanı tarayın. Tarama işleminin sonunda, seçtiğiniz öge o bölgede oluşacaktır. Şimdi kullanabileceğiniz ögeleri ve bunların özelliklerini inceleyelim.

1.4.2.2.1 Düz yazı ögesi

Forma sabit bir yazı yerleştirmeyi sağlar. Bu öge çoğu zaman yerleştirdiğiniz giriş alanlarına başlık olarak konur ama böyle bir zorunluluk yoktur. Okunmasını istediğiniz değişmeyecek yazılarınızı bununla hazırlayıp yerleştirebilirsiniz.

1.4.2.2.2 Buton ögesi

Belli bazı işlemlerin yapılabilmesini sağlamak için bu ögeyi kullanabilirsiniz. Seçilen operasyona göre

bu ögenin belli özelliklerini ayarlamanız gerekmektedir. Çalışma sırasında butona kliklediğinizde seçtiğiniz operasyon icra edilmeye çalışılır. Şimdi özellikleri ve ilgili operasyonları açıklayalım

1.4.2.2.2.1 Veri kaynağı

Butonun hangi veri kaynağı ile çalışacağını belirtir. Şu operasyonlar için kullanılır 1. opIlkKayit Veri kaynağının ilk kaydına gitmeyi sağlar 2. opOncekiKayit Veri kaynağında bir önceki kayda gitmeyi sağlar. 3. opSonrakiKayit Veri kaynağında bir sonraki kayda gitmeyi sağlar. 4. opSonKayit Veri kaynağının son kaydına gitmeyi sağlar. 5. opKayıtEkle Veri kaynağına yeni ve boş bir kayıt ekler. Bununla bağlantılı tüm ögelerin içi

temizlenir ve kayıt girişi beklenir. 6. opKaydiSil Bağlantılı veri kaynağı için o anda üzerinde bulunulan kaydı siler. 7. opKaydiDuzelt Veri kaynağını düzenleme moduna geçirir. Bu durumda alanlardaki

değerleri değiştirebilirsiniz. Bazı alanlar bu işlemi otomatik olarak yaparlar ve değiştirmeye başladığınız anda düzenleme moduna geçerler.

8. opKaydiGüncelle Yaptığınız değişiklikleri veri tabanına kaydeder. Başka bir kayda geçmek

de aynı işlemi yapacaktır. 9. opKaydetDuzelt Bu operasyon opKaydiGüncelle ve opKaydiDuzelt operasyonlarının

bileşimidir. Önce güncellemeyi yapar sonra tekrar düzenleme moduna geçirir. 10. opDegisiklitenVazgec Yaptığınız değişiklikleri iptal eder ve veritabanındaki eski halini geri

yükler.

1.4.2.2.2.2 Resim Ögesi

Page 9: 1 KULLANICI TANIMLI VERİ TABANI FORMLARI - … Ekran Dizayni.pdf · 1 KULLANICI TANIMLI VERİ TABANI FORMLARI Series 9000 SQL programlarında kullanıcıların veritabanına tablolar

Forma bir kaydedilebilir resim ögesi yerleştirdiğinizde veritabanından alınan resmi formda görürsünüz. Ancak yeni bir kayıt eklediğinizde yada var olan resmi değiştirmek istediğinizde bu butona ihtiyaç duyacaksınız. Butonun operasyon özelliğini opResimSec yaptıktan sonra Resim Ögesi özelliğinden ilişkili resim ögesini seçin. Çalışma sırasında butona kliklediğinizde karşınıza

diskinizde bulunan resimlerden birini seçebilmenizi sağlayacak bir ilişki penceresi gelecektir. Bu sayede resmi değiştirebilirsiniz.

1.4.2.2.2.3 Formun Sonucu

Eğer butonun operasyon özelliği opFormSonucu ise bu özelliğe bir değer atamanız gerekir. Özelliği

değiştirmek istediğinizde karşınıza çıkacak pencerede olası değerleri görebileceksiniz. Bu operasyon seçili iken butona kliklendiğinde hangi değer seçilirse seçilsin form kapanacaktır.

1.4.2.2.3 Gruplama Kutusu

Birden fazla ögeyi bir araya getirerek daha kolay yönetilmesini ve daha anlaşılır görünmesini sağlayan bir ögedir. Bu ögeyi forma yerleştirdikten sonra istediğiniz ögeleri bunun içine yaratın.

1.4.2.2.4 Sabit Resim

Formun daha güzel görünmesi için resim ilave edebilirsiniz. Tüm yapmanız gereken Sabit Resim ögesini yerleştirmek ve Resim özelliğini kullanarak bir resim seçmek.

1.4.2.2.5 Sayfa Seçimli Grup Ögesi

Eğer bir formun üzerine çok sayıda öge yerleştirmek isterseniz bunları ard arda koymanız mümkün olmayabilir. Çünkü bir form en fazla ekranın büyüklüğü kadar olabilir.Hem böyle bir form kullanılamaz olurdu. Buna engel olmak için bu öge kullanılabilir. Bu ögeyi formunuza yerleştirdiğinizde formunuzu 5 sayfa yapmış olursun. İhtiyacınıza göre bu sayfaları görünmez yapabilir yada bir sayfanın içine yeni bir Sayfa Seçimli Grup ögesi koyabilirsiniz. Kullanımında düzenlemek istediğiniz sayfayı seçin. Sonra sayfanın ortasına klikleyerek sayfanın içeriğini seçin. Artık o sayfaya ait özellikleri değiştirebilirsiniz. Bu sayfaya öge ilave etmek Gruplama Kutusunda anlatıldığı gibidir.

1.4.2.2.6 Tablo

Herhangi bir Veri kaynağını bir tablo halinde görmeyi sağlar ve doğrudan düzenleme yapmanıza izin verir. Bir kayda konumlanmak için sadece tablo üzerinde aşağı yukarı hareket etmeniz yeterli olacaktır. Eğer tüm kolonların gözükmesini istemezseniz Kolonlar özelliğinden Visible özelliğini kapatabilirsiniz.

1.4.2.2.7 Kayıt yöneticisi

Buton ögesinin 1.4.2.2.2.1 bölümünde anlatılan tüm özellikleri tek bir ögede birleştirir. Veri kaynağının yönetimi ile ilgili tüm işlemleri yapar.

1.4.2.2.8 Veri tabanından gelen sabit yazı

Veri tabanındaki bir yazı alanını form üzerinde sadece göstermeye yarar. Eğer seçtiğiniz alanı değiştirmeyecekseniz anlamlıdır. Tabii buna bağlı olarak o veri kaynağını kaydetmeyi düşünmüyor

olmalısınız. Birden fazla verikaynağını aynı form üzerinde kullanabilirsiniz.

1.4.2.2.9 Düzenlenebilir cümle ögesi

Page 10: 1 KULLANICI TANIMLI VERİ TABANI FORMLARI - … Ekran Dizayni.pdf · 1 KULLANICI TANIMLI VERİ TABANI FORMLARI Series 9000 SQL programlarında kullanıcıların veritabanına tablolar

Veri tabanındaki bir yazı alanını değiştirebilmenizi sağlayan bir ögedir. Aynı zamanda sayısal alanlar ve tarih alanları içinde bu öge kullanılabilir. Tarih alanlarına istenirse saat’de aynı anda yazılabilir. Örneğin : 23/10/2003 11:12 AM gibi.

1.4.2.2.10 Düzenlenebilir uzun yazı ögesi

Veri tabanındaki text ve ntext tipli alanlara giriş yapabilmek için bu ögeyi kullanmanız gerekmektedir. Bu alanlar çok büyük miktarlarda yazıyı kabul ederler.

1.4.2.2.11 Kaydedilebilir Resim Ögesi

Veri tabanındaki image tipli alanlara giriş yapabilmek için bu ögeyi kullanmalısınız. Ögenin içindeki resmi değiştirmek için Buton kullanmanız gerekmektedir. Bunun için 1.4.2.2.2.2 bölümünü inceleyin.

1.4.2.2.12 Liste

Veri tabanındaki bir alana belli özel değerlerden birini seçerek kaydetmek için kullanılır. Listenin elemanlar özelliğini kullanarak olabilecek tüm değerler listenin içine yerleştirilir. Eğer veri tabanında

önceden kaydedilmiş bilgiler mevcutsa listeyi buna göre hazırlamanızı tavsiye ederiz.

1.4.2.2.13 Cümle Seçici

Liste ögesine benzer ve aynı şekilde çalışır ancak burda liste sürekli olarak gözükmez. Yazı alanında seçili öge gözükür. Eğer başka bir eleman seçilirse veri kaynağı buna göre güncellenecektir.

1.4.2.2.14 Doğru / Yanlış Seçimi

Veri tabanındaki bit tipli alanların değerlerini görüntülemek için kullanılır. Eğer bu alandaki değer “0” ise kutu boş eğer “1” ise kutu işaretli olarak gelecektir. Başlık özelliğine de gerekli soruyu sorduğunuz takdirde çok daha anlamlı olacaktır.

1.4.2.2.15 Bir kaç öge içinden seçim

Cümle seçici ile aynı işi yapar ancak görsel olarak biraz daha farklıdır. Seçeneklerin çok az olduğu durumlarda ve mutlak suretle seçimin yapılması gerekiyorsa bu ögeyi kullanabilirsiniz. Veri kaynağını ve alanı belirledikten sonra Elemanlar özelliğini doldurun. Elemanlar özelliğine yazdıklarınız ögenin içinde alt alta cümleler şeklinde gözükecektir. Eğer bunları yan yana göstermek isterseniz Kolonlar özelliğindeki değeri değiştirerek bunu sağlayabilirsiniz. Elemanlar özelliğine

girdiğiniz değerler formun üzerinde gözükmesini istediğiniz değerlerdir. Veri tabanına yazılmasını istediğiniz değerleri ise Değerler özelliğini kullanarak belirtmelisiniz. Her bir eleman için bir değer

tanımlanmalıdır.

1.4.2.2.16 Farklı tablo ile ilişkili liste

Bu öge aslında Liste ögesine benzer ancak burada Elemanlar özelliği yoktur ve seçimleri kendiniz hazırlamazsınız. Seçimler başka bir veri kaynağından hazırlanır. Liste Veri Kaynağı ve Liste Alanı

özellikleri listede gözükecek bilgilerin hangi veri kaynağından geleceğini ve hangi sorgu alanı olacağını gösterir. Veri kaynağı ve veri alanı özellikleri de hangi veri kaynağının hangi sorgu alanına kayıt yapılacağını gösterir. Anahtar alan ise Liste veri kaynağı ile Veri kaynağı arasındaki

bağlantıyı gösterir. Durumu biraz daha açıklayalım. Güncellemek üzere açtığımız veri kaynağında Musteri_kodu adında bir alanımız olsun. Müşterilerin bulunduğu tabloyu kullanarak da bir sorgu hazırlayalım. Bu sorguda Musteri_kodu ve Musteri_Adi alanlarını alalım. Liste veri kaynağı özelliğine bu sorgunun veri

Page 11: 1 KULLANICI TANIMLI VERİ TABANI FORMLARI - … Ekran Dizayni.pdf · 1 KULLANICI TANIMLI VERİ TABANI FORMLARI Series 9000 SQL programlarında kullanıcıların veritabanına tablolar

kaynağını vereceğiz, Liste Alanı özelliğine da Musteri_Adi alanını vereceğiz. Böylece Listede Müşterilerin isimleri gözükecek. Veri Kaynağını ve veri alanının değerlerini vermiştik. Listeden bir seçim yaptığımızda seçilen liste müşterinin ismini bilmektedir, esas veri kaynağındaki hangi alanı güncellemesi gerektiğini bilmemektedir. Bu yüzden Anahtar alan kullanılır. Anahtar alana Liste veri kaynağındaki Musteri_kodu alanı seçilir. Dolayısıyla seçim yapıldığında Liste Veri kaynağındaki Musteri_kodu alanı esas veri kaynağındaki Musteri_kodu alanına yazılır.

1.4.2.2.17 Farklı tablo ile ilişkili cümle seçici

Bu öge Farklı tablo ile ilişkili liste ögesinin özel bir halidir. Sadece seçili cümleyi gösterir. Seçim yapmak için listeyi sağdaki buton vasıtasıyla açabilirsiniz. Seçimi yaptığınızda yazı alanındaki değer değişecektir.

1.4.2.2.18 Word döküman ögesi

Bu öge tipi Düzenlenebilir uzun yazı ögesi ile aynı şekilde çalışır.

1.4.3 Tablo Dizayn Ekranı

Veri tabanına yeni bir tablo eklemek istediğinizde yada var olan bir tablonun yapısını değiştirmek istediğinizde bu işlemi Tablo Dizayn Ekranından yapabilirsiniz. Tablo dizayn ekranını açabilmek için Veri kaynak tasarım ekranında ki ağaç yapısından veri tabanı bağlantıları bölümünü seçin. Uygun bağlantıyı da seçtikten sonra Tables ve Views dalları ile karşılaşacaksınız. Tables dalını seçip sağ klik ile ( yada yerel menü tuşu ile) yerel menüyü açın. Tablo Ekle seçinimi yaptığınızda karşınıza bu ekran boş olarak gelecektir. Tables dalının altındaki tablolardan birini seçerek yerel menüden tabloyu düzenle seçimini seçebilirsiniz. Bu durumda bu ekran karşınıza alanların

listesi ile beraber gelecektir. Tablo dizayn ekranında üst bölümde bulunan tablo kolonları listeler ve genel özelliklerini belirlemenize imkan tanır. Kolon ismi alanına hazırlamakta olduğunuz kolonun ismini yazın. Kolon isimlerinde türkçe karakterler kullanmamaya (“ı”,”İ”,”Ö”,”ö”,”ü”,”Ü”,”ş”,”Ş”,”Ğ”,”ğ”) özen gösterin aksi

halde program hata vermektedir. Veri tipi alanına hazırlamakta olduğunuz kolonun tipini verin. Kullanabileceğiniz tipler aşağıda listelenmiştir.

1. bigint 9,223,372,036,854,775,807’e kadar ki ondalıksız

sayıları gösterir. 2. binary, varbinary Eğer verinin tipi belli değil veya var olan

tiplerden herhangi birine uymuyorsa ancak boyu belli ise bu veri tipini kullanın. Eğer yazdığınız bilgi belirttiğiniz

büyüklükten daha az ise varbinary veri tabanında sadece kaydettiğiniz büyüklük kadar yer kaplayacaktır. Bu veri tipi için formlarda kullanabileceğiniz bir öge yoktur.

3. bit Doğru / Yanlış , Evet / Hayır gibi iki seçenekli seçim alanlarında bu veri tipini kullanın. 4. char, varchar Yazı alanları için bu alanı kullanabilirsiniz. Varchar veri tipi belirttiğiniz boyun

tamamını ayırmaz. İçine yazdığınız bilginin boyuna göre dinamik olarak ayarlar. Bunun sonucunda veri tabanında daha az yer kaplar.

5. datetime Tarih ve saat alanları için bu veri tipini kullanın. 1753-9999 yılları arası için

kullanabilirsiniz.

Page 12: 1 KULLANICI TANIMLI VERİ TABANI FORMLARI - … Ekran Dizayni.pdf · 1 KULLANICI TANIMLI VERİ TABANI FORMLARI Series 9000 SQL programlarında kullanıcıların veritabanına tablolar

6. decimal, numeric Ondalık haneli sayısal alanlar için kullanın. 7. float, real Ondalık haneli sayısal alanlar için kullanın. Bilimsel yazım formatı için kullanılır.

Real float’un özel bir halidir ve float(24)’e eşittir. 8. image Veri tabanına resim koymak istediğinizde bu alanı kullanın. 9. int 2,147,483,647’e kadarki ondalıksız sayıları gösterir. 10. money Parasal alanlar için bu veri tipini kullanın. 11. smalldatetime Tarih ve saat alanları için bu veri tipini kullanın. 1900-2097 yılları arası için

kullanabilirsiniz. 12. smallint 32,767’e kadarki ondalıksız sayıları gösterir. 13. smallmoney 214,748.3647’den küçük parasal alanlar için bu veri tipini kullanın. 14. sql_variant Eğer veri tipinin ne olduğu tablo hazırlanırken söylenemiyorsa Sayısal alanlar,

tarih alanları ve kısa yazı alanlarının yerine bu veri tipi kullanılabilir.Ancak bu veri tipini kullanmaktan kaçınmakta fayda vardır. Performansı etkileyecektir.

15. text uzun yazıların saklanması için kullanılacak veri tipidir.İçine 2,147,483,647 karakter

yazılabilir. 16. timestamp Bu veri tipi özel bir tiptir. Veri tabanına eklenen yada güncellenen kaydın kayıt

zamanını özel bir yapıda kaydeder. Form dizaynında bunu görebilmenizi sağlayacak bir ögemiz olmadığından kullanmanıza gerek yoktur.

17. tinyint 255’e kaderki ondalıksız sayıları gösterir. 18. uniqueidentifier 16 bayt uzunluğunda özel bir kod gösterir. Hazırladığınız formlarda bunları

doğrudan kullanabilmeniz mümkün değildir. 19. ntext, nchar, nvarchar Çince gibi uzak doğu kökenli dillerde kayıt yapabilmek için

hazırlanmış veri tipleridir. Programımızla birlikte bu veritiplerini kullanmanız şu an için mümkün değildir.

Veri tipini de belirledikten sonra Uzunluk kolonundan uzunluğu belirlemeniz gerekmektedir. Uzunluk belirtmeniz gereken veritipleri şunlardır : binary,varbinary, char,varchar,nchar,nvarchar. Diğer veritiplerinin uzunlukları değişmez. Ondalık hane içeren sayıların veri uzunlukları Basamak sayısına girilen değerle otomatik olarak belirlenir.

Eğer hazırladığınız kolona mutlak suretle kayıt girilmesi gerekmiyorsa Boş olabilir alanını doğru anlamında işaretleyin. Bir alt satıra geçip aynı işlemleri bir sonraki satır için yapın. Her bir satır

tablodaki bir kolonu göstermektedir. Bazı detay özellikler ekranın alt tarafındaki alanlar kullanılarak gösterilmektedir. Tabloda üzerinde bulunulan kolona ait özellikleri ayarlar.

Eğer kolon boş geçilemez olarak tanımlanmışsa o zaman Varsayılan değer alanının doldurulması

gerekmektedir. Bu durumda eğer yeni bir kayıt eklenirse ve bu kolon için bir değer girilmezse buraya yazılan değer otomatik olarak kaydedilecektir.

Basamak sayısı değeri Ondalık haneli sayılar için kullanılır. Sayının en fazla kaç basamak içerebileceğini belirtir. Ondalık hane değeri de Ondalık haneli sayı tipleri için kullanılır. Noktadan

sonra kaç basamak yazılabileceğini gösterir. Identity alanı özel bir tanımlamayı gösterir. Veri tabanlarında bir kaydın bulunabilmesi için her

kayıtta birbirinden farklı olan özel bir bilgiye ihtiyaç vardır. Bu tür alanlara Anahtar Index alanı denir. Bu alan diğer tablolarda da referans olarak kullanılır. Veri tabanında ki büyüklüğü azaltmak için bu alanın olabildiğince küçük ama yeterli büyüklükte bir veri tipinde olması gerekir. Bu durumda Identity alan en iyi çözümü sağlar. Int sayı tipindedir ve her kayıt için otomatik olarak sunucu tarafından arttırılır. Hazırladığınız tablonun ilk alanının bu türden bir kolon olmasını tavsiye ederiz. Identity Seed identity olarak hazırlanmış kolonda arttırma işleminin başlayacağı ilk rakamı belirler. Identity Increment ise artış miktarının ne olduğunu gösterir. Eğer kolonun tipi uniqueidentifier ise o zaman IsRowGuid seçimini kullanabilirsiniz. Bu veri tipi

Identity gibi özel bir numaradır ve Identity’nin 4 katı büyüklüğündedir. Bu sayede sadece o tabloda değil makinanızda olsun olmasın tüm veritabanları ve tablolar arasında bir eşi olmayan

Page 13: 1 KULLANICI TANIMLI VERİ TABANI FORMLARI - … Ekran Dizayni.pdf · 1 KULLANICI TANIMLI VERİ TABANI FORMLARI Series 9000 SQL programlarında kullanıcıların veritabanına tablolar

özel bir rakam içerir. Identity yerine IsRowGuid seçimini kullanabilirsiniz. Bu durumda varsayılan değer alanına newid() yazmanız gerekmektedir. Bu

değer tıpkı identity alandaki gibi otomatik rakam üretilmesini sağlayacaktır. Bir tablo içerisinde ancak bir tane Identity veya IsRowGuid olan alan olabilir. Ayrıca Identity alan veya IsRowGuid olan kolonlardan da ancak biri bulunabilir. Kolonların tasarlanması sırasında kolaylık olması açısından SQL9000’e bağlantı adında bir buton

konmuştur. Bu buton vasıtasıyla bu ekrana ulaşırken ilk açtığınız SQL9000 formunda kullanılan veri tabanı tablosunun alanlarını listeler istediklerinizi aynı isim ve yapıda kendi tablonuza ekleyebilirsiniz. Bu tür alanları bağlantıların kurulması sırasında

kullanacağınızdan faydalı olacaktır. Eğer var olan bir kolonu silmek isterseniz öncelikle kolonu

işaretlemeniz gerekecektir. Bunun için Klavyenin Ctrl tuşu basılıyken

seçmek istediğiniz kolonun bulunduğu satırın en solundaki gösterge kolonuna tıklamanız yeterli olacaktır. Seçilmiş alanlar işaretlenecektir. Aynı işlemi tekrarlarsanız işaret kalkar. Seçme işlemini tamamladıktan sonra sağ-klik ile yerel menüyü açın ve seçili kolonları sil menüsünü tıklayın. Seçtiğiniz kolonlar

silinecektir. Eğer araya yeni bir kolon yerleştirmek isterseniz önce kolonu yerleştirmek istediğiniz satırın

üzerine gelin ve yerel menüyü açın. Araya kolon ekle... seçimini yapın.

Bulunduğunuz satır aşağıya doğru kayacak ve onun yerine boş bir satır gelecektir.

Tablonuzun anahtar indekslerini hazırlarken, önce indekse dahil olacak kolonları seçmeniz gerekmektedir. Sonra yine yerel menüyü açın ve seçili alanları anahtar indeks olarak seç

seçimini yapın. Yapının sağlıklı çalışması için her tabloda anahtar indeks tanımlanmalıdır. Eğer yeni tablo yaratıyorsanız Tamam butonuna bastığınızda program size tablonun isminin ne

olmasını istediğinizi soracaktır. Burayı doldurup onaylayın. Tablonuz hazır. Var olan bir tabloyu değiştirirken dikkat edilmesi gereken bazı noktalar vardır.

1. Bir kolon identity alan haline getirilemez. 2. Kolonun tipi değiştirilecekse tipler birbirine dönüştürülebilir olmalıdır yada veri

tabanında kayıt olmamalıdır. Örneğin sayısal bir alan yazı alanına dönüştürülebilir ama tersini yapmak her zaman mümkün olmayabilir.

3. Tip dönüşümlerinde ayrılan büyüklük yüzünden veri kaybı olmamasına özen gösterilmelidir. Örneğin Text tipli bir alan varchar(50) ye çevriliyorsa Text’in içindeki 50 karakterden fazla veri içeren kayıtların ancak ilk 50 karakteri alınabilecektir.

1.5 Kritik hatalar ve çözümü

Formların tasarımı genelde yapının hiç değişmeyeceği varsayımı ile yapılmaktadır. Ancak gerçek hayatta bu tam olarak doğru değildir. Veri tabanında tabloların isimleri değişebilir, kolonların isimleri değiştirilebilir, veriler başka bir sunucu üzerine taşınabilir. Tüm bu gibi durumlarda hazırlamış olduğunuz formlar kullanılamaz hale gelecektir. Çünkü sistem ihtiyacı olan tüm kaynaklara isimleri ile erişmek üzere tasarlanmıştır. Böyle bir durumla karşılaştığınızda panik olmanıza gerek yoktur. Tüm frm ve DS dosyaları yazı formatında kaydedilmiş olup herhangi bir editor ile (örneğin notepad.exe)

açılabilir. Yapmanız gereken sorunlu formların dosyalarını bir editör yardımı ile açmak ve soruna neden olan yanlış ismi düzelmek olacaktır. Örneğin hazırladığınız tablonun adı SRVCAGRI idi, ancak siz bunun anlamsız olduğunu ve SERVISCAGRI olması gerektiğine karar verdiniz. Eğer bu işlemi

Page 14: 1 KULLANICI TANIMLI VERİ TABANI FORMLARI - … Ekran Dizayni.pdf · 1 KULLANICI TANIMLI VERİ TABANI FORMLARI Series 9000 SQL programlarında kullanıcıların veritabanına tablolar

sadece veritabanı üzerinde yaparsanız bu tablo ile ilişkili formlarınıza ulaşamazsınız. Formların tekrar çalışır hale gelebilmesi için ilgili .frm dosyalarını notepad ile teker teker açarak SRVCAGRI kelimesini aratın ve SERVISCAGRI ile değiştirip kaydedin. Varsa aynı işlemi .ds dosyası için de yapın. Bu sayede artık program SRVCAGRI tablosunu değil SERVISCAGRI tablosunu arayacaktır. Bu dosyalarda form ve verikaynağı tasarımları ile ilgili yaptığınız tüm çalışmalar bulunmaktadır. Bu dosyalarda yapacağınız değişiklikler sizin sorumluluğunuz altındadır.Bu yüzden dosyaların güvenlik ayarlarını düzenlemenizde fayda vardır. Her ne kadar programın içinden supervisor dışında kimsenin değiştirme izni olmasa da işletim sistemi ortamından notepad ile düzenleme yapılabilmekte ve çalıştırılabilmektedir. Windows 2000 ortamında dosyanın üzerine gelip sağ klik yaparak ayarları şu şekilde değiştrebilirsiniz.

1.6 Örnek uygulama 1

Yukarıda anlatılan özellikleri kullanabileceğimiz, görece basit bir uygulama yapalım. Hazırlamayı düşündüğümüz formlar İnternet üzerinden satış yapabilmeyi sağlayacak bir sitenin kurulabilmesi için gerekli verileri sağlayabilecek bir veritabanı yapısının kurulması.

1.6.1 Problemin tanımı

Elimizdeki ürünlerin internetten satışı sırasında müşteriye gerekli tanıtım bilgisinin sağlanması gerekmektedir. Ayrıca ürünlerin çeşitli kategoriler altında toplanabilmesi ve ilgili sayfalara dağıtılabilmesi gerekmektedir. Mevcut programımız stoklar hakkında çeşitli bilgiler tutmaktadır ancak bunlar böyle bir site kurmaya yetecek ayrıntıları içermemektedir. Örneğin her stoğun piyasadaki fiyatının bulunacağı bir alana ihtiyaç vardır. Özelliklerini anlatan

1.7 Örnek uygulama 2

Yukarıda anlatılan tüm bu özellikleri içeren özel bir örnek yapmak anlaşılmayı kolaylaştıracaktır.

1.7.1 Problemin tanımı

Mikro Yazılımevi’nin kendi ihtiyaçlarını karşılamak için kullandığı bir formun hazırlanmasını birlikte gerçekleştirelim. Müşterilerimizin servis ihtiyaçlarının daha verimli karşılanabilmesi, servis görevlilerimizin eksiklerinin daha iyi giderilebilmesi ve bunların maliyetlerinin hesaplanabilmesi ,geçmişte karşılaşılmış problemlere bakarak problemlerin çözüm süresinin kısaltılması gibi nedenlerden dolayı servis formunun programa ilave edilmesi istenmektedir. Servis form’ları her müşteri ziyaretinde hazırlanmaktadır.Bir servis formu hazırlandığında birden fazla soruna çözüm bulunabildiği gibi bir sorunun çözümü bir kaç sefer gidip gelmeyi de gerektirebilmektedir. Müşterinin Servis talebine karşılık bir yada birden fazla servis formu düzenlenebilmektedir.

Page 15: 1 KULLANICI TANIMLI VERİ TABANI FORMLARI - … Ekran Dizayni.pdf · 1 KULLANICI TANIMLI VERİ TABANI FORMLARI Series 9000 SQL programlarında kullanıcıların veritabanına tablolar

1.7.2 Veri tabanının tasarlanması

Öncelikle veri tabanına ekleyeceğimiz tabloları ihtiyaçlarımıza göre tasarlamamız gerekmektedir. Bu örnekte ilk ihtiyacımız Müşterilerden gelen talepleri saklayacağımız SRVCAGRI tablosudur. Ancak müşteri aynı çağrı içinde birden fazla talepte bulunabileceğinden Problemleri SRVPROBLEM gibi

ayrı bir tabloda tutmamız daha uygun olacaktır. Buradaki bağlantı bir çağrı için birden fazla problem gösterecek şekilde olacağından referans alanı Problem tablosuna yerleştirilmiştir. Her bir problem için bir yada bir kaçtane çözüm olabilir. O halde çözümleri de ayrı bir tabloda tutmamız ve benzer şekilde ilişkilendirmemiz faydalı olacaktır. Böylece SRVCOZUM tablosunu da oluştururuz. Geçmişte yaşanan problemlerin içinden arama yapabilmek için Problem tablosuna özet bilgi gösteren bir alan ve problemin türünü belirten bir alan koyabiliriz. Problemlerin türleri zaman içerisinde sürekli artacağından bu bilgiler de SRVPROBLEMTURLERI gibi bir tabloda tutulmalıdır. Servis

elemanımız müşterimize gittiğinde doldurmak üzere bir form taşıyacaktır. Bu formdaki bilgileri saklamak üzere bir tabloya ihtiyacımız var. SRVSERVISFORMU tablosunu bu bilgileri saklamak için hazırlayacağız. Her bir servis işleminde bir yada birden fazla sorunun çözümü bulunacaktır. Belki de hiçbir probleme çözüm bulunamayacak. Bu durumda bir servis formunda hangi problemlerle ilgilenildiğini saklamak için SRVPRBLISTESI gibi bir problem listesi tablosuna ihtiyacımız var. Bu problem listesinde problemlere karşılık bir çözüm bulunduysa çözüm tablosuna da bağlantı yapılmalı. Ancak bu bağlantı olmayabilir. Zira çözümün bulunmuş olması zorunlu değil. Tüm bunlara ek olarak her formda müşterilerin önerileri istekleri yada servis görevlisinin görüşleri gibi ek bigiler bulunabilir. Bu bilgiler de SRVONERILER tablosuna yazılacaktır.

1.7.3 Tablolar ve alanlar

SRVCAGRI Müşterilerden gelen servis istekleri bu tabloya yazılacaktır. Tablo da sadece müşteriler ve servise gidilecek yer hakkında bilgiler olacaktır.

cgr_RecNo Anahtar indeks alanı. Identity olarak tanımlayalım. muk_Kod MUSTERI tablosu ile bağlantıyı sağlayan Müşteri kodu alanı. Müşteri

tablosundaki aynı isimli alandaki değerlerden birini içerir. cgr_isim Servis çağrısı için görüşülen ilgili kişi cgr_Telefon Bu kişinin telefonu cgr_Adres Servis için gidilecek adres cgr_Tarih Servis çağrısının alındığı tarih cgr_Tipi Servis çağrısının nereden geldiğini gösteren değer.

0 : TELEDESTEK : Servis çağrısının telefon aracılığıyla yapıldığını. 1 : BAYİİ : Servis çağrısının bayiye yapıldığını

cgr_Bayii Servis çağrısının yapıldığı Bayii’nin kodu.

SRVPROBLEM Servis çağrılarında dile getirlen tüm problemler bu tabloda saklanacaktır. Aynı tablo servis formunda çözülen problemleri gösterirken de kullanılacaktır.

prb_RecNo Anahtar indeks alanı. Identity olarak tanımlanmalı. cgr_RecNo Problemin hangi çağrı kaydıyla ilişkili olduğunu gösteren alan.

Page 16: 1 KULLANICI TANIMLI VERİ TABANI FORMLARI - … Ekran Dizayni.pdf · 1 KULLANICI TANIMLI VERİ TABANI FORMLARI Series 9000 SQL programlarında kullanıcıların veritabanına tablolar

SRVCAGRI tablosunun cgr_RecNo alanındaki değeri içerir. prb_Tur Geçmişte olan problemlerin arasından birini bulmak istediğimizde

bunların kategorilere ayrılmış olması işimizi kolaylaştıracaktır. Bu alan SRVPROBLEMTURLERI tablosunun pt_RecNo alanı ile eşleşir.

prb_Tanim Problemin kısa tanımını içerir. Bu alandaki bilgileri SQL cümleleri yazarak taramak kolayca yapılabilecektir.

prb_Detay Problemin ayrıntılarının yazılacağı alandır. Bu alanı Text tipinde tanımlayacağız çünkü problemin tanımında durumu anlatan veriler ve

SRVPROBLEMTURLERI Daha sonra geçmişte yaşamış olduğumuz problemleri tararken kolaylıkla bulabilmemiz için bunları kategorize etmemiz faydalı olacaktır. Bu tabloda hazırladığımız kategoriler bulunacaktır.

pt_RecNo Anahtar indeks alanı. Identity olarak tanımlanmalı. pt_Turismi Problemin türünü tanımlayan bir cümle içerir. Bu alan SRVPROBLEM

tablosunda kayıtlı problemin kapsamını tanımlayacak bir ifade içermelidir.

SRVCOZUM Bu tablo SRVPROBLEM tablosunda tanımlı problemin çözümünü içerir.

czm_RecNo Anahtar indeks alanı. Identity olarak tanımlanmalı. Prb_RecNo Kaydedilen çözümün hangi probleme ait olduğunu gösteren alandır.

SRVPROBLEM tablosundaki aynı isimli alana bağlıdır. czm_Detay Çözümün detayları. Bu alanda problemin nasıl çözülmesi gerektiğine

ait tüm detaylar yer alır.

SRVSERVISFORMU Servis elemanlarımızın müşterilerimize gittiklerinde doldurulmaları gereken servis formlarında bulunan bilgileri içeren tablodur.

Frm_RecNo Anahtar indeks alanı. Identity olarak tanımlanmalı. Cgr_RecNo Bu servis formunun hangi müşteri çağrısı ile bağlantılı olduğunu

gösteren alan. SRVCAGRI tablosundaki aynı isimli alana bağlıdır. Frm_RaporNo Hazırlanan servis raporlarının matbuğ olarak basılmış ve sıralı olarak

artan numarası. Frm_ServisTipi Servisin verileceği konumu gösteren değerdir.

0 : TELEDESTEK : Müşterinin sorunu telefon aracılığıyla çözüldü. 1 : SAHA : Müşterinin sorunu, sorunun olduğu mekanda çözüldü.

frm_ServisKapsami Müşterinin servis için yapacağı ödemenin türünü belirleyen değer. 0 : GARANTİ : Programın garanti kapsamında olduğunu gösterir. 1 : ÜCRETLİ : Servis karşılığında ücret alındığını gösterir. 2 : YAKIN DESTEK ANLAŞMASI : Servisin destek anlaşması kapsamında olduğunu gösterir.

frm_DuzenlemeTarihi Servis formunun düzenlendiği tarihi gösterir. frm_BaslangicTarihi Servise başlama tarihini ve zamanını gösterir. frm_BitisTarihi Servisin tamamlandığı tarihi ve zamanı gösterir. frm_ServisElemani Servise hangi Mikro çalışanının gittiğini gösterir. frm_SaatUcreti Servis için saat ücreti olarak ne alındığını gösterir. frm_ToplamUcret Servis için müşteriden alınacak ücreti gösterir. frm_Sonuc Bu alana Servis işlemi hakkında son bir değerlendirme yazılacaktır.

Şu yapıldı bu yapılamadı vs...

SRVPRBLISTESI Problemler temel olarak SRVCAGRI tablosu ile ilişkilidir. Birkaç servis formunda ancak bir problem çözülebileceği gibi birden fazla problem de çözülebilir. Bu yüzden bu tablo hazırlanmıştır. Servis formu ile ilişkili problemlerin ve çözümlerinin listesini gösteren tablodur.

lst_RecNo Anahtar indeks alanı. Identity olarak tanımlanmalı. frm_RecNo Hangi Servis formu ile ilişkili olduğunu gösteren alandır.

SRVSERVISFORMU tablosunun aynı adlı alanı ile ilişkilidir. prb_RecNo Hangi problem’le ilişkili olduğunu gösteren alandır. SRVPROBLEM

tablosunun aynı adlı alanı ile ilişkilidir. czm_RecNo Eğer probleme çözüm bulunamadıysa bu alan NULL olacaktır.( NULL

boş anlamına gelir.) Eğer bir çözüm üretilebildiyse çözümü gösterir.

Page 17: 1 KULLANICI TANIMLI VERİ TABANI FORMLARI - … Ekran Dizayni.pdf · 1 KULLANICI TANIMLI VERİ TABANI FORMLARI Series 9000 SQL programlarında kullanıcıların veritabanına tablolar

SRVCOZUM tablosunun aynı adlı alanı ile ilişkilidir.

SRVONERILER Servis sırasında servis elemanının, Müşterilerin öneri , gözlem ve şikayetleri bu tabloya kaydedilir.

onr_RecNo Anahtar indeks alanı. Identity olarak tanımlanmalı. frm_RecNo Servis formu ile ilişki kuran alandır. SRVSERVISFORMU tablosunun

aynı isimli alanına bağlanır. onr_Tipi Girilen detay bilgilerin öneri mi , gözlem mi ... olduğunu belirlemeyi

sağlar. 0 : Servis elemanının Gözlemleri 1 : Servis elemanının Önerileri 2 : Kullanıcının isteği 3 : Kullanıcının önerisi

onr_Detay Gözlem yada önerilerin detaylı açıklaması.

Veri tipi Uzunluğu Boş olabilir

SRVCAGRI cgr_RecNo İnt (identity) 4 Hayır muk_Kod Varchar 25 Hayır cgr_isim Varchar 50 Evet cgr_Telefon Varchar 18 Evet cgr_Adres Varchar 100 Evet cgr_Tarih DateTime 8 Evet cgr_Tipi Int 4 Evet cgr_Bayii Varchar 50 Evet

SRVPROBLEM prb_RecNo İnt (identity) 4 Hayır cgr_RecNo Int 4 Hayır prb_Tur Int 4 Hayır prb_Tanim Varchar 1000 Evet prb_Detay text 16 Evet

SRVPROBLEMTURLERI pt_RecNo İnt (identity) 4 Hayır pt_Turismi Varchar 100 Evet

SRVCOZUM czm_RecNo İnt (identity) 4 Hayır prb_RecNo Int 4 Hayır czm_Detay text 16 Evet

SRVSERVISFORMU frm_RecNo İnt (identity) 4 Hayır cgr_RecNo İnt 4 Hayır frm_RaporNo Int 4 Evet frm_ServisTipi Int 4 Evet frm_ServisKapsami Int 4 Evet frm_DuzenlemeTarihi Datetime 8 Evet frm_BaslangicTarihi Datetime 8 Evet frm_BitisTarihi Datetime 8 Evet frm_ServisElemani Varchar 25 Evet frm_SaatUcreti Money 8 Evet frm_ToplamUcret Money 8 Evet frm_Sonuc text 16 Evet

SRVPRBLISTESI lst_RecNo İnt (identity) 4 Hayır frm_RecNo Int 4 Hayır prb_RecNo Int 4 Hayır czm_RecNo Int 4 Evet

Page 18: 1 KULLANICI TANIMLI VERİ TABANI FORMLARI - … Ekran Dizayni.pdf · 1 KULLANICI TANIMLI VERİ TABANI FORMLARI Series 9000 SQL programlarında kullanıcıların veritabanına tablolar

SRVONERILER onr_RecNo İnt (identity) 4 Hayır frm_RecNo Int 4 Hayır onr_Tipi Int 4 Hayır onr_Detay Text 16 Evet

1.7.4 Veri tabanında gerekli düzenlemelerin yapılması

Veri tabanının düzenlenebilmesi için öncelikle form düzenleyiciye girmek gerekmektedir. Bizim hazırlamak istediğimiz formlar Müşterilerle alakalı olduğundan öncelikle Müşteri kartını açmalıyız. Çalışmalarımızı daha sağlıklı yapabilmek için bir müşteri kaydını seçmeli sonra da yerel menüden kullanıcı tanımlı formlar menüsünün altındaki Form düzenleyici... menüsünü çalıştırmalıyız.

Not : Bu menünün gözükmesi için programa SRV kullanıcısı ile girmiş olmanız gerekir.

Form düzenleyici açıldıktan sonra Araçlar menüsünden Veri tabanı yönetimini tıklayın. Aynı şeyi araç çubuğundaki buton yada F9 tuşu ile de yapabilirsiniz. Karşınıza Veri kaynak tasarım ekranı çıkacaktır. Bu ekranda sol tarafta bulunan ağaç yapısına geçin ve veri tabanı bağlantıları bölümünden MainADOConnection bağlantısını

seçin. Bu bizi firma veritabanına götürecektir. MUSTERI tablosu da bu veri tabanının içindedir. Sonra Tables dalında iken yerel menüyü açıp Tablo ekle... seçimini yapın. Karşınıza tablo dizayn ekranı gelecektir. İlk hazırlayacağımız tablo Müşterilerin servis taleplerini saklayacağımız Servis Çağrı tablosu olacaktır. Şimdi tablomuza ihtiyaç duyduğumuz kolonları ekleyelim. Öncelikle anahtar kolonumuzu hazırlayalım ve

cgr_RecNo kolonunu ekleyelim. Bunu Identity olarak ayarlayalım. Sonra MUSTERI tablosuna bağlantıyı kurabilmek için SQL9000’e Bağlantı butonuna basalım ve muk_kod kolonunu ekleyelim. Sonra 1.7.3 bölümünde detaylı olarak açıkladığımız diğer kolonları da sırayla ekleyelim.

Tamam butonuna klikleyerek bu tabloyu yaratalım ve ismine SRVCAGRI diyelim. Diğer tabloların isimleri, kolonların tanımları ,açıklmaları ve veritipleri, uzunlukları 1.7.3 Tablolar ve alanlar bölümünde anlatılmıştı. Aynı işlemleri tüm tablolar için yaparak tablolarımızı yaratalım.

Page 19: 1 KULLANICI TANIMLI VERİ TABANI FORMLARI - … Ekran Dizayni.pdf · 1 KULLANICI TANIMLI VERİ TABANI FORMLARI Series 9000 SQL programlarında kullanıcıların veritabanına tablolar

1.7.5 Veri kaynaklarının hazırlanması

Form tasarımı için ikinci aşama verikaynaklarının hazırlanmasıdır. Bu aşamada form üzerine yerleştireceğimiz bileşenlerin veritabanı ile olan ilişkilerinin kurulabilmesi için gerekli olan SQL cümlelerini hazırlayacağız. Eğer formun üzerine koyduğumuz bileşenlere değer girecek ve bunları da kaydedeceksek hazırladığımız SQL cümleleri sadece bir tablodan veri alır şekilde olmalıdır. Ancak bilgiyi sadece göstermek için almak istiyorsak ( örneğin depodaki stok miktarı gibi...) o zaman cümleler karmaşık olarak hazırlanabilir ve birden fazla tablo yada view ile ilişkili olabilir.

Öncelikle veri kaynakları tasarım ekranında Dizayn veri kaynakları dalını seçin. Sağ klik yada yerel menü tuşu yardımıyla

yerel menüyü açın ve Sorgular seçiminin altındaki Sorgu ekle menüsüne tıklayın.

Yeni oluşturulan dalın öncelikle ismini değiştirin. Bunun için öncelikle yeniSorguXXX dalını seçin ve Düzen menüsünden ismini değiştir’i seçin

yada F2 tuşuna basın. Yeni ismi verirken size form dizayn ederken hazırladığınız sorguyu en iyi hatırlatacak

şekilde verin. İsmi hazırlarken türkçe karakterler, harf yada sayı olmayan karakterler ve boşluk kullanmayın. ( Boşluk yerine “_” kullanabilirsiniz ) Şu anda veri kaynağı seçili durumda olduğundan hemen cümlenin hazırlanmasına geçelim. Hangi veri kaynağının seçili olduğu üstte Düzenlenen veri kaynağı başlığında gösterilmektedir. Sonra

biraz önce tabloları hazırladığımız bölüme gidelim. Yani “Veri tabanı bağlantıları” , “MainADOConnection”,”Tables”,”SRVCAGRI”. Ekranın sağ tarafında Sorgu tasarım ekranının seçili olmasına dikkat edelim. SRVCAGRI tablosunu mouse ile tutup Sorgu tasarım ekranına taşıyalım.Mouse işaretinin değiştiğini ve bıraktığınızda sorgu tasarım ekranında bir kutu içerisinde tablonun alanlarının listelendiğini göreceksiniz. Bu alanlardan “*” ı işaretleyelim.

Şu anda program otomatik olarak sizin için SQL cümlesini oluşturmuştur. SQL cümlesini görmek , düzeltmek yada çalıştırarak test etmek için Sorgu ve Sonuç değerleri

sayfasına geçebiliriz. Not : Eğer sadece değer görüntüleme için bir sorgu hazırlıyorsanız, birden fazla tabloyu aynı yöntemle bu ekrana taşıyabilirsiniz. Tablolar birbirini referans alıyorsa bağlantılı alanlardan birini mouse ile tutup diğer tablodaki alanın üzerine taşıyarak bağlantı için gerekli SQL cümlesinin kurulmasını sağlayabilirsiniz. Bu tabloyu Müşteri tablosuna bağlayacağımız için Sorgu ve Sonuç değerleri ekranında sorgunun en sonuna imlecimizi konumlandırıyoruz. Yerel menüyü açıp Where cümlesini yarat seçimine tıklıyoruz. Bu bize programdan

gelen Müşteri tablosu ile biraz önce yarattığımız SRVCAGRI tabloları arasındaki ilişkiyi sağlayan bölümü verecektir. Tabii bunun sağlıklı çalışabilmesi için tabloyu düzenlediğimiz ekranda bağlantı alanlarını Seri9000’e bağlantı butonu yardımıyla

yapmış olmamız gerekmektedir. Burada tasarladığımız Servis formları için ihtiyacımız olan tüm tablolar için bir veri kaynağı hazırlamaktır. PROBLEM veri kaynağını da hazırlayalım. CAGRI’daki

Page 20: 1 KULLANICI TANIMLI VERİ TABANI FORMLARI - … Ekran Dizayni.pdf · 1 KULLANICI TANIMLI VERİ TABANI FORMLARI Series 9000 SQL programlarında kullanıcıların veritabanına tablolar

gibi verikaynağını ekleyelim ve adını değiştirelim. SRVPROBLEM tablosunu Sorgu tasarım ekranına taşıyalım ve “*” kolonunu işaretleyelim. Diğerinden farklı olarak artık bağlantımız programla değil CAGRI verikaynağı ile olduğundan Bağlantı veri kaynağı alanını değiştirelim.

Sonra Sorgu ve Sonuç değerleri ekranına geçelim. Artık bağlantıyı kurmak için Where cümlesini yarat seçimini kullanamayız. Zira program sizin nasıl bir bağlantı istediğinizi bilemez, ancak size alanların listesini sunarak kolaylık sağlayabilir. SQL cümlesinin sonuna gidelim ve

“WHERE (“ yazalım. Sonra yerel menüyü açıp SQL cümlesinden gelen alan ekle seçimini yapalım. Çıkan listeden cgr_RecNo alanını seçelim. Sonra yazıya “=” ilave edip yerel menüden Bağlantı veri kaynağı alanı ekle seçimini yapalım ve bu listeden de cgr_RecNo alanını seçelim. Eğer CAGRI veri kaynağını hazırlarken kontrol amacı ile çalıştırmadıysanız program bu noktada hata verecektir. Çünkü sorgular çok karmaşık olabileceğinden alanların listesini ancak sorguyu çalıştırdıktan sonra elde edebilmektedir. Dizayn veri kaynakları dalından CAGRI dalını seçin ve Sorgu ve Sonuç değerleri ekranında F5 tuşuna basın. Aşağıdaki tabloda alanları göreceksiniz. Sonra tekrar PROBLEM dalını geçin ve alanlar listesini çıkarmayı tekrar deneyin. Son olarak cümlemizin sonuna “)” ‘i de eklediğimizde cümlemiz hazır. Yine F5 tuşuna basın. ( ki daha sonra hazırlayacağımız verikaynakları için alanlar hazır bulunsun ) Yukarıdaki işlemleri diğer tablolar için de yapalım. Son olarak servise giden elemanlarımızı getirebilmek için GOREVLILER veri kaynağını hazırlayalım. Bunun için tablo olarak programımızın PERS tablosunu ekleyelim. Per_kod ve per_isim alanlarını eklememiz bizim için yeterli olacaktır. Veri kaynak tasarım ekranı ile ilgili işlemlerimiz bitti. Veri tabanı menüsünden Kaydet’i seçip kaydedelim. Sonra da Formu güncelleyi seçip veri kaynaklarının dizayn ettiğimiz forma

aktarılmalarını sağlayalım.Artık bu ekranı kapatabiliriz.

1.7.6 Formun tasarlanması

Öncelikle formun başlığını Düzen menüsünden Başlığı değiştir seçimini kullanarak değiştirelim. Sonra formda F6 tuşuna basarak yada Araçlar.Formlar menüsünün altında bulunan Formu dizayn et

seçimini tıklayarak dizayn etme işlemine başlayabiliriz. Ekranımızda çok fazla bilgi olacağından önce sayfa seçimli grup ögesine tıklayalım ve boş alanın büyük bir bölümünü tarayalım. Tamam butonuna basıp tekrar F6 yapalım. TabSheet1 yazısının olduğu sayfa aktif durumda sayfasının içine tıklayalım. Özellik ayarları ekranından bunun başlığını Servis Çağrıları olarak değiştirelim. TabSheet2’yi Servis formu olarak değiştirilem. TabSheet3,TabSheet4 ve TabSheet5 ‘in Sayfa Gözükür özelliğini kaldıralım. Servis

çağrıları sayfasını seçip Düz yazı ögesi

koyalım ve Başlığını Çağrı tarihi olarak değiştirelim. Bunun altına düzenlenebilir

cümle ögesi yerleştirelim ve bunun veri kaynağı özelliğini DSCAGRI yapalım.Veri alanı özelliğini de cgr_Tarih yapalım. Bir sonraki aşamada birkaç öge içinden seçim

yapan ögesini yerleştirelim. Başlığını “Çağrının yapıldığı yer” olarak değiştirelim. Veri kaynağına DSCAGRI, veri alanına cgr_tipi değerlerini verelim. Elemanlar özelliğini tıklayıp içine Teledestek ve Bayii kelimelerini ekleyelim.

Page 21: 1 KULLANICI TANIMLI VERİ TABANI FORMLARI - … Ekran Dizayni.pdf · 1 KULLANICI TANIMLI VERİ TABANI FORMLARI Series 9000 SQL programlarında kullanıcıların veritabanına tablolar

Değerler özelliğine geçip 0 ve 1 kelimelerini ekleyelim. Aslında bunlar veri tabanına kaydedilecek değerleri gösterir. Teledestek için veri tabanına 0 Bayii için veritabanına 1 değerleri yazılacaktır. Benzeri şekilde CAGRI tablomuzla ilişkili diğer alanlarımızı da yerleştirelim. Sayfanın en altına resimde görüldüğü gibi veri kaynağımızı yönetecek butonlarımızı yerleştirelim. Her bir butonun veri kaynağını DSCAGRI yapalım. Ve işlem özelliklerini uygun şekilde ayarlayalım. Burada panik olunmaması gereken beklenmedik bir durumla karşılaşabilirsiniz. Yerleştirdiğiniz butonlar veri tabanı ile hemen ilişkiye geçip kaynağın durumuna göre kullanılamaz moda geçebilirler. Örneğin tabloda hiç kayıt olmadığı için sonraki kayıt butonu kullanılamaz duruma geçecektir. Bu durumda Dizayn moddan çıkıp tekrar girin ve Özellik ayarları penceresindeki ağaç yapısından butonu seçin ve kullanılamaz özelliğini değiştirin. Bu yöntemi benzeri tüm durumlarda kullanabilirsiniz. Her bir çağrı için birden fazla problem kaydedilebileceğini söylemiştik. Bu yüzden problemlerle ilgili ayrı bir grup hazırlayacağız. Ayrıca problemlerin türlerinin de o anda hazırlanabileceğini belirtmiştik. Bunlar için yine bir sayfa seçimli grup ögesi yerleştirelim ve başlıklarını şekilde görüldüğü gibi ayarlayalım. Gereksiz sayfaları da kaldırdıktan sonra Problem türleri sayfasına geçelim. Sayfamıza bir tablo yerleştirip Veri kaynağını DSPROBLEMTUR yapalım. Kolonlar özelliğini tıklayarak aşağıdaki şekilde gösterilen kolon ayarları penceresini açalım ve pt_RecNo alanının Visible özelliğini kaldıralım.

Artık problem türlerini bu tablo aracılığıyla ekleyebiliriz. Tekrar Problemler ve Çözümleri sayfasına

geçelim. Problemin türünü seçebilmek için Farklı tablo ile ilişkili cümle seçici ögemizi yerleştirelim. Bunun Liste veri kaynağı özelliğini DSPROBLEMTUR yapalım. Liste alanını pt_Turismi, Anahtar alanını da pt_RecNo olarak ayarlayalım. Veri kaynağımız DSProblem ve Veri alanımızda prb_Tur

olacaktır. Sonra problemin kısa tanımı ve açıklaması için birer tane Uzun yazı ögesi yerleştirelim

ve ayarlarını yapalım. Şimdi bu sayfanın sonuna kayıt işlemlerini yapabilmek için Kayıt yöneticisi ekleyelim ve veri kaynağı özelliğini DSPROBLEM olarak belirtelim. Bunun yerine her işlem için teker

Page 22: 1 KULLANICI TANIMLI VERİ TABANI FORMLARI - … Ekran Dizayni.pdf · 1 KULLANICI TANIMLI VERİ TABANI FORMLARI Series 9000 SQL programlarında kullanıcıların veritabanına tablolar

teker butonlar koyup bunların ayarlarını yapmak da mümkündür ama böylesi daha kolay olduğu için burada kayıt yöneticisi koymayı tercih edeceğiz. Şimdi problemin çözümlerini kaydedebilmek için bir gruplama kutusu yerleştirelim ve başlığını değiştirelim. Bu kutunun içine de yine bir Uzun yazı ögesi ve Kayıt yöneticisi ekleyelim. Her ikisinin de veri kaynağı DSCOZUM olacaktır. Uzun yazı ögesinin veri alanını czm_Detay olarak belirleyelim. Evet sonunda bu sayfa ile işimiz bitti. Artık servis formunu hazırlayabiliriz.

Servis Formu sayfasının üst bölümündeki kısımlar diğer sayfaya çok benzemektedir. Sadece servise giden alanında Farklı tablo ile

ilişkili cümle seçici ögesi kullanılacak ve liste veri kaynağı DSGOREVLILER olacaktır. Liste veri alanı per_adi, anahtar alan da per_kod olacaktır. Problemler bölümüne yerleştirilen Kayıt yöneticisinin veri kaynağı DSSERVISPRBLISTESI olacaktır. Bu tabloya doğrudan kayıt girilmeyecek sadece referanslar vasıtasıyla problemlerin ve çözümlerin seçimi yapılacaktır. Bu yüzden ilk alanımız incelenen problemi seçeceğimiz alan olacaktır ve bunun için Farklı tablo ile ilişkili

cümle seçici ögesi yerleştireceğiz ve bunu DSPROBLEM veri kaynağına bağlayacağız.Seçtiğimiz şeyin ne olduğunu görebilmek için hemen altına problem detayını gösteren bir bileşen yerleştirelim. Çözüm kısmında bu tarz bir bileşen çok daha gereklidir. Zira incelenen problemin seçiminde tanım alanını kullanarak anlamlı kelimeler gösterebildik oysa çözüm tablosunun böyle bir alanı yoktur ve listede sadece (MEMO)

yazıları gözükecektir. Gözlem ve Öneriler kısmını da hazırladığımızda formumuz tamamlanmış olacaktır. Dosya menüsünden Kaydet’i seçerek formumuzu kaydedebiliriz. ( Kaydetme işlemini tasarım sırasında da sıksık yapmanızı tavsiye ederiz. ) Programın verdiği isim zorunluluk teşkil etmez dilediğiniz gibi değiştirebilirsiniz. Biz MUSTERISERVIS.FRM dedik.