DBGrid İçerisine Başka Tablodan Bilgi Getirme

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
kadird35
Üye
Mesajlar: 29
Kayıt: 13 Eki 2005 11:15
Konum: İZMİR

DBGrid İçerisine Başka Tablodan Bilgi Getirme

Mesaj gönderen kadird35 »

Slm arkadaşlar. soruyu doğrumu sordum bilmiyorum. ama cevabını formlarda çok aradım bulamadım. belkide nasıl arayacağımı bilmedim. yapmak istediğim şu
Firebird Veritabanı ve Delphi7 kullanıyorum.

Tablo : TPSABIT
ID : INTEGER;
PKOD : VARCHAR(15);
ADI_SOYADI : VARCHAR(50);

Tablo : TEGITIM
ID : INTEGER;
TARIH : DATE;
EGT_VEREN : VARCHAR(50);
EGT_KONUSU: VARCHAR(60);

// Eğitime katılanlar Tablosu
Tablo : TEGITIM_ALT
ID : INTEGER;
XID : INTEGER;(TEGITIM TABLOSUNDA ID YE BAĞLI)
PKODX : INTEGER; (TPSABIT TABLOSUNDA ID YE BAĞLI)

Yukarıdaki yapı doğrumudur bilmiyorum. ama yapmak istediğim;
personele verilen eğitimlerin kaydını tutmak.

( fatura kaydında stok kalemi çağırma mantığı gibi sanırım )
EGITIM NO : 001

TARIH : 03/03/2011

EGITIMI VEREN : .................

EĞİTİM KONUSU : ................................

EĞİTİME KATILANLAR

+----------+-------------------------+
| Sicil No | Adı Soyadı |
+----------+-------------------------+
| 0005 | ................ |
| | |
| | |
| | |
| | |
+----------+-------------------------+

yukarıdaki şekilde bir formda kayıt işlemini yapmak istiyorum.
dbgrid bileşenini kullanmak istiyorum.
sicil no yazdığımda adısoyadı alanına TPSABIT tablosundan adısoyadı bilgisi gelmesini istiyorum.
TPSABIT tablosu ile TEGITIM_ALT tablosu arasında bir ilişki kurmam gerekiyorumu. veya nasıl bir kayıt yapmam gerekiyor.
arkadaşlar yardımcı olun lütfen..
bir an önce bu programı yazmak istiyorum.
şimdiye kadar excel de tutulmuş.
150-200 kişi ayrı ayrı excel sayfalarında 2006 yılından bu güne tutulmuş.
malum excel de bir yere kadar. arıza açmaya başladı yavaş yavaş.
başına bir iş gelmeden excelden vazgeçmek istiyorum.
access ile yapmayı düşündüm ama bu saatten sonra access öğrenemem.
firebird embedded kullanarak yapmayı düşünüyorum.
yardımlarınız için şimdiden teşekkür ediyorum.
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: DBGrid İçerisine Başka Tablodan Bilgi Getirme

Mesaj gönderen orhancc »

Tablo yapısını o şekilde kullanabilirsin foreign key ile bağlayabilirsin ya da bağlamadan yapabilirsin sana kalmış.
kadird35
Üye
Mesajlar: 29
Kayıt: 13 Eki 2005 11:15
Konum: İZMİR

Re: DBGrid İçerisine Başka Tablodan Bilgi Getirme

Mesaj gönderen kadird35 »

orhancc kardeş teşekkür ederim cevabın için ama yazının devamını okumadın sanırım. diğer sorularım hakkında da bir cevap yazarsan sevinirim
teşekkürler.
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: DBGrid İçerisine Başka Tablodan Bilgi Getirme

Mesaj gönderen orhancc »

İlk kez mi program yazacaksın ? ne kadar programlama bilgin var ?
kadird35
Üye
Mesajlar: 29
Kayıt: 13 Eki 2005 11:15
Konum: İZMİR

Re: DBGrid İçerisine Başka Tablodan Bilgi Getirme

Mesaj gönderen kadird35 »

evet biraz acemiyim
detaylı bir örnek hiç fena olmaz aslında.
ama tabi bu, siz değerli ustaların takdirine kalmış birşey.
teşekkür ederim.
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: DBGrid İçerisine Başka Tablodan Bilgi Getirme

Mesaj gönderen orhancc »

Bilgileri gride getireceğini varsayarak şöyle birşey yapabilirsin:

Bi tane AdoQuery kullanırsın ve istediğin alanları subquery ile çekersin

Kod: Tümünü seç

Select *,(Select digertablodakialan from DigerTablo) as DigerTabloAlani from anatablo
Ama burdaki subqueryden tek değer dönmesi lazım onu da ya koşula bağlarsın ya da Top 1 çekersin.
kadird35
Üye
Mesajlar: 29
Kayıt: 13 Eki 2005 11:15
Konum: İZMİR

Re: DBGrid İçerisine Başka Tablodan Bilgi Getirme

Mesaj gönderen kadird35 »

arkadaşlar konuyu halen çözemedim.
küçük bir örnek yaptım.
lütfen indirip bir bakın.
yardımlarınız için şimdiden teşekkür ediyorum

http://hotfile.com/dl/113262509/0ad0740/DENEME.rar.html
Cevapla