Master Tablo İçin Detay Tabloda Olmayan Kayıtlar
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 95
- Kayıt: 07 Eki 2010 03:55
Master Tablo İçin Detay Tabloda Olmayan Kayıtlar
Merhabalar. ürünler ve ürün hareketleri diye iki tablom var. master detail olarak dbgridlerde ekrana getiriyorum kayıtları fakat ürün hareketleri tablosunda kayıt olmamasına rağmen raporlamada master alanında ürün bilgileri gözüküyor. ben detail tabloda hareket kaydı olmayan ürünlerin raporlama da gözükmesini istemiyorum. bunu nasıl gerçekleştirebilirim. veritabanım firebird. teşekkür ederim
-
- Üye
- Mesajlar: 330
- Kayıt: 09 Mar 2004 11:18
- Konum: Konya
- İletişim:
Re: Master Tablo İçin Detay Tabloda Olmayan Kayıtlar
Hayırlı Günler
MASTER - DETAIL arasında ki bağlantıyı LEFT JOIN yerine INNER JOIN ile yaparsanız sorununuz çözülecektir.
MASTER - DETAIL arasında ki bağlantıyı LEFT JOIN yerine INNER JOIN ile yaparsanız sorununuz çözülecektir.
-
- Üye
- Mesajlar: 95
- Kayıt: 07 Eki 2010 03:55
Re: Master Tablo İçin Detay Tabloda Olmayan Kayıtlar
yusuf simsek kardeşim teşekkür ederim ilginden dolayı.
select * from stokkart INNER JOIN STOKHAREKET ON stokkart.stokkartid=stokhareket.stokkartid
where stokhareket.stokkartadi<>''
bu şekilde kullanıyorum zaten inner join i fakat bu sefer de bir üründen stokhareket tablosunda birden fazla kayıt olduğu için o ürünü birden fazla listeliyor
select * from stokkart INNER JOIN STOKHAREKET ON stokkart.stokkartid=stokhareket.stokkartid
where stokhareket.stokkartadi<>''
bu şekilde kullanıyorum zaten inner join i fakat bu sefer de bir üründen stokhareket tablosunda birden fazla kayıt olduğu için o ürünü birden fazla listeliyor
-
- Üye
- Mesajlar: 330
- Kayıt: 09 Mar 2004 11:18
- Konum: Konya
- İletişim:
Re: Master Tablo İçin Detay Tabloda Olmayan Kayıtlar
Rapor ekranında almak istediğiniz sonuç nedir? Ona göre sorguyu kurgulayalim
Re: Master Tablo İçin Detay Tabloda Olmayan Kayıtlar
Merhaba.
- Master / Detail tablo ilişkisini iki farklı DBGrid ile görüntülüyorsanız, JOIN yapmayın.
- Master DBGrid'in SQL'ini ( farklı bir Query ile ) yapılandırın, sonra onun OnAfterScroll eventinde Detail'e ait DBGrid'in SQL'ini hazırlayın. JOIN için kullandığınız ilişki ikinci Query için anahtar niteliğinde olacatır.
- Master / Detail tablo ilişkisini iki farklı DBGrid ile görüntülüyorsanız, JOIN yapmayın.
- Master DBGrid'in SQL'ini ( farklı bir Query ile ) yapılandırın, sonra onun OnAfterScroll eventinde Detail'e ait DBGrid'in SQL'ini hazırlayın. JOIN için kullandığınız ilişki ikinci Query için anahtar niteliğinde olacatır.
-
- Üye
- Mesajlar: 95
- Kayıt: 07 Eki 2010 03:55
Re: Master Tablo İçin Detay Tabloda Olmayan Kayıtlar
master dbgrid de ürünler tablosundaki ürünleri gösteriyorum detail dbgrid de ise master dbgrid de seçili olan ürüne ait hareketleri. birbirlerine master/detail soruce ile bağlı. farklı bir kod yazmadım onlar için. benim isteğim raporlama kısmında örneğin stok girişi yapılan ürünlerin listesini almak istiyorum master / detail olarak
üst satırda ürünler tablosundaki ürünün bilgileri
altında o ürüne ait seçili tarihler arasındaki ürün hareketleri
tek ürün için aldığım zaman raporlamamda sıkıntı yok fakat hepsini listele dediğim zaman hem ürünler tablosunda fazla kayıt olduğundan dolayı hazırlaması uzun sürüyor hemde hareki olmayan ürünleri de listeliyor
ben hepsini dediğim zaman hareket tablosunda hareketleri olan ürünlerin detaylı hareket listesini almak istiyorum
üst satırda ürünler tablosundaki ürünün bilgileri
altında o ürüne ait seçili tarihler arasındaki ürün hareketleri
tek ürün için aldığım zaman raporlamamda sıkıntı yok fakat hepsini listele dediğim zaman hem ürünler tablosunda fazla kayıt olduğundan dolayı hazırlaması uzun sürüyor hemde hareki olmayan ürünleri de listeliyor
ben hepsini dediğim zaman hareket tablosunda hareketleri olan ürünlerin detaylı hareket listesini almak istiyorum
Re: Master Tablo İçin Detay Tabloda Olmayan Kayıtlar
Anladığım odur ki, hateketi olmayan ürünün Master DBGrid'den filtrelenmesini istiyorsunuz. O zaman yine join'den vazgeçin diyorum. Master SQL sorgusunda WHERE AnaTablo.Kayno in (Select....) şeklinde hareket olanların masterini sadeleştirin.
Master'dan sadece bir veya birden fazla seçili kaydın detayını alacaksanız da ek bilgi vereyim DBGrid kayıtlarını Dbdrid ve Bookmark anahtar kelimelerini aratın, seçili kayıtların kayıt nolarını Detail tablonun SQL querysine vererek gereken kayıtları çekebilirsiniz.
Master'dan sadece bir veya birden fazla seçili kaydın detayını alacaksanız da ek bilgi vereyim DBGrid kayıtlarını Dbdrid ve Bookmark anahtar kelimelerini aratın, seçili kayıtların kayıt nolarını Detail tablonun SQL querysine vererek gereken kayıtları çekebilirsiniz.
-
- Üye
- Mesajlar: 95
- Kayıt: 07 Eki 2010 03:55
Re: Master Tablo İçin Detay Tabloda Olmayan Kayıtlar
mrmarman bey teşekkür ederim ilginiz için sorguyu şu şekilde yazınca sorunum çözüldü tekrar teşekkür ederim.
select * from stokkart where stokkartid in (select stokkartid from stokhareket)
select * from stokkart where stokkartid in (select stokkartid from stokhareket)