aşağıdaki gibi bir tablomuz olduğunu düşünelim.
Tablo Adı LOOK_ORNEK

Şimdi İli ve İlçe bölümlerinde Tüm İlleri ve buna bağlı ilçeleri Bir dbLookupCombobox İle Listeletip seçilen İl ve İlçeleri Yukarıdaki Tabloya yazdıralım.
İl ve İlçelerin bulunduğu aşağıdaki tablolarımız olsun.
İl Tablosu

İlçe Tablosu

İlçeler tablosundaki MST_ID alanı iller tablosundaki SELF alanına bağlıdır. iller tablosunda Adanayı seçtiğiniz zaman iller tablosundaki SELF alanının değerine İlçeler tablosunsda MST_ID alaında değeri 1 olan kayıtlar Listelenir.. Bu İki tabloyu delphi içinden Master / Detail Bağlantısını sağlıyoruz. 3 table, 3 Datasource, 2 dbedit,2 dblookupcombobox 4 Label ve birde dbnavigator bileşeni formumuza ekliyoruz..
Aşağıdaki gibi Tasarımınızı yapın

DATASOURCE1.DATASET > TABLE1
TABLE1.TableName > LOOK_ORNEK
DATASOURCE2.DATASET > TABLE2
TABLE2.TableName > IL
DATASOURCE3.DATASET > TABLE3
TABLE3.TableName > ILCE
Şimdi il ve ilçe Tablosunu bir birine ilişkilendirelim (Master / Detail ). Master / Detail bağlantı kurmayanlarada örnek taşkil edecektir.
İlçe Tablomuzun MasterSource Özelliğine Bağlantı Kuracağımız İl tablosunun Datasosourcesini Gösteriyoruz.
Table3.Mastersource > Datasource2
Daha sonra ilişkilendireceğimiz Alanları Belirlemek için
Table3.MasterFields özelliğine Tıklıyoruz. Karşımıza Aşağıdaki pencere çıkıyor

Bağlantı Kurulacak Alanları seçtikten sonra Add buttonuna tıklayıp ok'liyoruz.
2 dbedit ve dbnavigator bileşenlerinin Datasourcelerine Datasource1'i gösteriyoruz.
DBEdit1.DataField > IDNO
DBEdit2.DataField > ADI_SOYADI
DBLookupComboBox1.ListSource > Datasource2
DBLookupComboBox1.ListField > ADI
DBLookupComboBox1.KeyField > ADI
DBLookupComboBox1.Datasource >Datasource1
DBLookupComboBox1.DataField > IL
DBLookupComboBox2.ListSource > Datasource3
DBLookupComboBox2.ListField > ADI
DBLookupComboBox2.KeyField > ADI
DBLookupComboBox2.Datasource >Datasource1
DBLookupComboBox2.DataField > ILCE
tABLOLARI aKTİF YAPIP TEST EDİN.
ÖZELLİKLERİ
ListSource : Bileşenin verileri Listeleyeceği Datasource bileşeni
ListField : ListSource de belirtilen Kaynaktaki alanlardan hangisininListelemede Kullanılacağını belirtir
KeyField : Bağantının Hangi alan üzerinde yapılacağını Belirtir. Bu alanda seçili veri DataField Bölümünde Belirtilen alana yazılır
DataSource : Listsourcede Belirtilen veri Kaynağının Hangi erikaynağına yazılacağını belirtir.
DataField : Datasource ile belirtilen kaynaktaki (tablo) KeyFielddeki verinin hangi alana yazılacağını belirtir.
datasource ve datafieldi boş bırakırsanız tabloya herhangi bir veri yazmayıp sadece listeleme yapr.
Örnek 2
Şimdi Bileşenin Farklı bir kullanım şeklini göreceğiz. Diyelim bir tablomuz var. adısoyadı ve ilkodu diye iki alanımız var. tabloya il adını değilde ilkodunu girmek istiyoruz fakat kullanıcının bu kodları tek tek ezberlemesi gerekecek ve doğal olarak zorlandığı için programınızı sevmeyecektir. Programımızda kullanıcı il adını seçecek fakat biz tabloya il kodunu yazacağız.
Tablolarımız aşağıdaki gibi olsun.



2 table, 1 Datasource ve birde dbGRİD bileşeni formumuza ekliyoruz..
DATASOURCE1.DATASET > TABLE1
TABLE1.TableName > LOOK_ORNEK
DBGRID1.DATASOURCE > DATASOURCE1
TABLE2.TableName > IL
TABE1'e çift tıklayıp.Fields Editörü açıyoruz. Fields Editör üzerinde sağ tıklayıp New Field deyip aşağıda sanal bir alan oluşturuyoruz.

Yukarıdaki ayarları yaptıktan sonra sanal alanımızı normal bir alan gibi kullanabilirsiniz

Gördüğünüz gibi grid üzerinde açılır liste şeklinde bir alanımız oluştu. bu alan üzerinde yapılacak değişiklik IL_KODU alanına yansıyacaktır. isteseydik bir dblookupcombobox bileşeni forma ekleyip sadece Datasource ve DataField özelliklerini ayarlayarak kullanabilirdik. veya yukarıdaki IL_KODU alanını dbgridde göstermeyebilirdik.