Buradan - Akademikro

Transkript

Buradan - Akademikro
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.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
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.
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.
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.
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.
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 eleman
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.
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
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
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
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.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
decimal, numeric Ondalık haneli sayısal alanlar için kullanın.
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.
image Veri tabanına resim koymak istediğinizde bu alanı kullanın.
int 2,147,483,647’e kadarki ondalıksız sayıları gösterir.
money Parasal alanlar için bu veri tipini kullanın.
smalldatetime Tarih ve saat alanları için bu veri tipini kullanın. 1900-2097 yılları arası için
kullanabilirsiniz.
smallint 32,767’e kadarki ondalıksız sayıları gösterir.
smallmoney 214,748.3647’den küçük parasal alanlar için bu veri tipini kullanın.
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.
text uzun yazıların saklanması için kullanılacak veri tipidir.İçine 2,147,483,647 karakter
yazılabilir.
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.
tinyint 255’e kaderki ondalıksız sayıları gösterir.
uniqueidentifier 16 bayt uzunluğunda özel bir kod gösterir. Hazırladığınız formlarda bunları
doğrudan kullanabilmeniz mümkün değildir.
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
ö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
Klavyenin Ctrl tuşu basılıyken
işaretlemeniz
gerekecektir.
Bunun
için
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
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.
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
cgr_RecNo
muk_Kod
cgr_isim
cgr_Telefon
cgr_Adres
cgr_Tarih
cgr_Tipi
cgr_Bayii
SRVPROBLEM
prb_RecNo
cgr_RecNo
Müşterilerden gelen servis istekleri bu tabloya yazılacaktır. Tablo da
sadece müşteriler ve servise gidilecek yer hakkında bilgiler olacaktır.
Anahtar indeks alanı. Identity olarak tanımlayalım.
MUSTERI tablosu ile bağlantıyı sağlayan Müşteri kodu alanı. Müşteri
tablosundaki aynı isimli alandaki değerlerden birini içerir.
Servis çağrısı için görüşülen ilgili kişi
Bu kişinin telefonu
Servis için gidilecek adres
Servis çağrısının alındığı tarih
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ı
Servis çağrısının yapıldığı Bayii’nin kodu.
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.
Anahtar indeks alanı. Identity olarak tanımlanmalı.
Problemin hangi çağrı kaydıyla ilişkili olduğunu gösteren alan.
prb_Tur
prb_Tanim
prb_Detay
SRVPROBLEMTURLERI
pt_RecNo
pt_Turismi
SRVCOZUM
czm_RecNo
Prb_RecNo
czm_Detay
SRVSERVISFORMU
Frm_RecNo
Cgr_RecNo
Frm_RaporNo
Frm_ServisTipi
frm_ServisKapsami
frm_DuzenlemeTarihi
frm_BaslangicTarihi
frm_BitisTarihi
frm_ServisElemani
frm_SaatUcreti
frm_ToplamUcret
frm_Sonuc
SRVPRBLISTESI
lst_RecNo
frm_RecNo
prb_RecNo
czm_RecNo
SRVCAGRI tablosunun cgr_RecNo alanındaki değeri içerir.
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.
Problemin kısa tanımını içerir. Bu alandaki bilgileri SQL cümleleri
yazarak taramak kolayca yapılabilecektir.
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
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.
Anahtar indeks alanı. Identity olarak tanımlanmalı.
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.
Bu tablo SRVPROBLEM tablosunda tanımlı problemin çözümünü
içerir.
Anahtar indeks alanı. Identity olarak tanımlanmalı.
Kaydedilen çözümün hangi probleme ait olduğunu gösteren alandır.
SRVPROBLEM tablosundaki aynı isimli alana bağlıdır.
Çözümün detayları. Bu alanda problemin nasıl çözülmesi gerektiğine
ait tüm detaylar yer alır.
Servis elemanlarımızın müşterilerimize gittiklerinde doldurulmaları
gereken servis formlarında bulunan bilgileri içeren tablodur.
Anahtar indeks alanı. Identity olarak tanımlanmalı.
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.
Hazırlanan servis raporlarının matbuğ olarak basılmış ve sıralı olarak
artan numarası.
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ü.
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.
Servis formunun düzenlendiği tarihi gösterir.
Servise başlama tarihini ve zamanını gösterir.
Servisin tamamlandığı tarihi ve zamanı gösterir.
Servise hangi Mikro çalışanının gittiğini gösterir.
Servis için saat ücreti olarak ne alındığını gösterir.
Servis için müşteriden alınacak ücreti gösterir.
Bu alana Servis işlemi hakkında son bir değerlendirme yazılacaktır.
Şu yapıldı bu yapılamadı vs...
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.
Anahtar indeks alanı. Identity olarak tanımlanmalı.
Hangi Servis formu ile ilişkili olduğunu gösteren alandır.
SRVSERVISFORMU tablosunun aynı adlı alanı ile ilişkilidir.
Hangi problem’le ilişkili olduğunu gösteren alandır. SRVPROBLEM
tablosunun aynı adlı alanı ile ilişkilidir.
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.
SRVONERILER
onr_RecNo
frm_RecNo
onr_Tipi
onr_Detay
SRVCAGRI
cgr_RecNo
muk_Kod
cgr_isim
cgr_Telefon
cgr_Adres
cgr_Tarih
cgr_Tipi
cgr_Bayii
SRVPROBLEM
prb_RecNo
cgr_RecNo
prb_Tur
prb_Tanim
prb_Detay
SRVPROBLEMTURLERI
pt_RecNo
pt_Turismi
SRVCOZUM
czm_RecNo
prb_RecNo
czm_Detay
SRVSERVISFORMU
frm_RecNo
cgr_RecNo
frm_RaporNo
frm_ServisTipi
frm_ServisKapsami
frm_DuzenlemeTarihi
frm_BaslangicTarihi
frm_BitisTarihi
frm_ServisElemani
frm_SaatUcreti
frm_ToplamUcret
frm_Sonuc
SRVPRBLISTESI
lst_RecNo
frm_RecNo
prb_RecNo
czm_RecNo
SRVCOZUM tablosunun aynı adlı alanı ile ilişkilidir.
Servis sırasında servis elemanının, Müşterilerin öneri , gözlem ve
şikayetleri bu tabloya kaydedilir.
Anahtar indeks alanı. Identity olarak tanımlanmalı.
Servis formu ile ilişki kuran alandır. SRVSERVISFORMU tablosunun
aynı isimli alanına bağlanır.
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
Gözlem yada önerilerin detaylı açıklaması.
Veri tipi
Uzunluğu
Boş olabilir
İnt (identity)
Varchar
Varchar
Varchar
Varchar
DateTime
Int
Varchar
4
25
50
18
100
8
4
50
Hayır
Hayır
Evet
Evet
Evet
Evet
Evet
Evet
İnt (identity)
Int
Int
Varchar
text
4
4
4
1000
16
Hayır
Hayır
Hayır
Evet
Evet
İnt (identity)
Varchar
4
100
Hayır
Evet
İnt (identity)
Int
text
4
4
16
Hayır
Hayır
Evet
İnt (identity)
İnt
Int
Int
Int
Datetime
Datetime
Datetime
Varchar
Money
Money
text
4
4
4
4
4
8
8
8
25
8
8
16
Hayır
Hayır
Evet
Evet
Evet
Evet
Evet
Evet
Evet
Evet
Evet
Evet
İnt (identity)
Int
Int
Int
4
4
4
4
Hayır
Hayır
Hayır
Evet
SRVONERILER
onr_RecNo
frm_RecNo
onr_Tipi
onr_Detay
1.7.4
İnt (identity)
Int
Int
Text
4
4
4
16
Hayır
Hayır
Hayır
Evet
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.
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
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.
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
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.

Benzer belgeler