Delphi de iki tabloyu tek dbgrit e gösterebilirmiyim

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
doktoraltun
Üye
Mesajlar: 73
Kayıt: 06 Oca 2012 06:56

Delphi de iki tabloyu tek dbgrit e gösterebilirmiyim

Mesaj gönderen doktoraltun »

arkadaşlar iyi akşamlar ufak bir problemim var bir türlü çözemedim
elimdeki accsess *.mdb uzantılı veritabanımda iki tane tablo var.
bu tabloların şekli:

X firmasi ürünleri (1. Tablo)
no...../urun_adi...../urun_fiyati
......../................/.............
......../................/............../
Y firması ürünleri (2. Tablo)

no...../urun_adi...../urun_fiyari
......../................/.............
......../................/............../

şeklinde tablolar var bu tabloları tek tabloya kopyalamadan tek dbgrit veya benzer bir şey ile formumda gösterebilirmiyim
3 gündür uğraşıyorum bi turlu yapamadım yardımcı olursanız çok sevinirim. Ayrıca 3 gundur her tarafı aradım bi turlu bulamadım.

Şimdiden teşekürler.
adnansirca
Üye
Mesajlar: 135
Kayıt: 14 Kas 2005 12:24

Re: Delphi de iki tabloyu tek dbgrit e gösterebilirmiyim

Mesaj gönderen adnansirca »

Siz isteyin neden olmasın.
Join :ara
(Grid diye aramışsanız cevap bulamazsınız.)
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Re: Delphi de iki tabloyu tek dbgrit e gösterebilirmiyim

Mesaj gönderen NewMember »

adnansirca yazdı:Siz isteyin neden olmasın.
Join :ara
(Grid diye aramışsanız cevap bulamazsınız.)
Arkadaşın aradığı bu değil bence
bence şunu arıyor

Kod: Tümünü seç

(Select * From tablo 1)
union
(select * from tablo2)
adnansirca
Üye
Mesajlar: 135
Kayıt: 14 Kas 2005 12:24

Re: Delphi de iki tabloyu tek dbgrit e gösterebilirmiyim

Mesaj gönderen adnansirca »

NewMember
sorudaki tablo yapısına göre dediğinizde haklı olabilirsiniz.

Ancak, Master-detail yapı ve join kullanmak daha avantajlı sanırım.

Union deyimi iki tablodan birden kayıt çekmek için kullanılır. Ancak
çekilecek kolonların aynı veri tipinden olmaları gerekir. Ayrıca, çekilen veriler birbirlerinden
farklı olmalıdır. Union aynı olan verilerden yalnızca birisini seçer.

Öte yandan 100 tane firma olduğunu düşünün. Her birine ayrı bir tablo ayırmak pek mantıklı olmasa gerek.
Yapılacak şey;
Firmalar adında master bir tablo ve ürünler adında detail tablo oluşturup bunları join ile birleştirmek.
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Re: Delphi de iki tabloyu tek dbgrit e gösterebilirmiyim

Mesaj gönderen NewMember »

adnansirca yazdı:
NewMember
sorudaki tablo yapısına göre dediğinizde haklı olabilirsiniz.

Ancak, Master-detail yapı ve join kullanmak daha avantajlı sanırım.

Union deyimi iki tablodan birden kayıt çekmek için kullanılır. Ancak
çekilecek kolonların aynı veri tipinden olmaları gerekir. Ayrıca, çekilen veriler birbirlerinden
farklı olmalıdır. Union aynı olan verilerden yalnızca birisini seçer.

Öte yandan 100 tane firma olduğunu düşünün. Her birine ayrı bir tablo ayırmak pek mantıklı olmasa gerek.
Yapılacak şey;
Firmalar adında master bir tablo ve ürünler adında detail tablo oluşturup bunları join ile birleştirmek.
Haklısınız.Ben şu andaki mevcut yapıya göre cevap verdim.Ama dediğiniz gibi arkadaşın yapısını gözden geçirmesi gerekli.
Kullanıcı avatarı
csunguray
Üye
Mesajlar: 855
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Delphi de iki tabloyu tek dbgrit e gösterebilirmiyim

Mesaj gönderen csunguray »

Ben verdiğiniz yapıda tek tablo görüyorum.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
arkantos_55
Üye
Mesajlar: 25
Kayıt: 26 Nis 2011 03:18

Re: Delphi de iki tabloyu tek dbgrit e gösterebilirmiyim

Mesaj gönderen arkantos_55 »

X firmasi ürünleri (1. Tablo)
no...../urun_adi...../urun_fiyati
......../................/.............
......../................/............../
Y firması ürünleri (2. Tablo)

no...../urun_adi...../urun_fiyari
......../................/.............
......../................/............../

yapıda ortak alanları kullanarakta listeleme yapabilirsin mesela

Kod: Tümünü seç

with adoquery1 do
begin
  close;
  sql.clear;
  sql.text:='select *.t1, *.t2 from tablo1 t1, tablo2 t2 where t1.no=t2.no order by no asc';
  open;
end;


Şeklindeki bir sorguda adotableye bağlı dbgridde tablo1 ve tablo2 ye ait ortak no bulunan bütün kayıtları direk listeleyebilirsin no alanı küçükten büyüğe doğru.
Cevapla