S.a.
arkadaşlar formuma bir tane ibdatabase,bir tane transaction,2 datasource,2 ibdataset,2dbgrid ve iki tane de dbnavigator koydum.
master/detail ayarlarını forumu araştırarak yaptım.gayet güzel de çalışıyo ce hiç sorunu yok.yalnız yapıpda mantığını anlamadığım bir nokta var.orayı soracağım sizlere.firebird 1,5 ve delphi7 kullanıyorum.
master tablom(isimler)
kayitno:integer(otomatik artan)
isim:varchar
adres:varchar
detail tablom(urunler)
kayitno:integer(otomotik artan)
ad:varchar
urunler:varchar
database ve transaction ayarlarını yaptım
datasource1-->ibdataset1(master)
datasource2-->ibdataset2(detail)
ibdataset2nin beforepost olayına:
ibdataset2.FieldByName('ad').value :=ibdataset1.fieldbyname('isim').value ;
buraya kadar herşey tamam
dataset2.datasource-->datasource1 bunu neden yaptık ne işe yarıyor
dataset1.selectsql-->select * from isimler
where where ad=:isim
asıl burası işte.detaildeki ad değeri ile masterdeki isimi nasıl eşleştiriyo.'select * from' yazan yere yani isimlerin yanına urunlerde yazmamız gerekmiyo mu.nasıl tanıyo.
mantığı anlamadan birşey yapmak istemiyorum.
kusura bakamayın soru biraz uzun oldu...
master/detail ve ibdataset
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Kod: Tümünü seç
select * from tablom
where ad = :isim
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
s.a.
anlamadığım dedğiniz kısımlar master detail yapan kısımlar.
dataset2.datasource-->datasource1[b/]
burda dataset1 i master yaptık dataset 2 yi de detail.
mastaer tablondaki benzersiz bi alanı detail tablon ile bağlantı için kullanıyoruz. örnekte o alanı string bir alan olan isim<->ad alanlarını kullanmışsın(her ne kadar string bir alan tavsiye edilmesede) where ifadesi bu iki alanı birbiriyle aynı olan kayıtları listelemeni sağlıyor. parametre olan
:isim e ise değerini otomatik olarak dataset1 den alıyor. (yukardaki atamadan dolayı).
umarım anlatabilmişimdir.
kolay gelsin.
anlamadığım dedğiniz kısımlar master detail yapan kısımlar.
dataset2.datasource-->datasource1[b/]
burda dataset1 i master yaptık dataset 2 yi de detail.
mastaer tablondaki benzersiz bi alanı detail tablon ile bağlantı için kullanıyoruz. örnekte o alanı string bir alan olan isim<->ad alanlarını kullanmışsın(her ne kadar string bir alan tavsiye edilmesede) where ifadesi bu iki alanı birbiriyle aynı olan kayıtları listelemeni sağlıyor. parametre olan
:isim e ise değerini otomatik olarak dataset1 den alıyor. (yukardaki atamadan dolayı).
umarım anlatabilmişimdir.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim