Hocam bir şey daha soracağım UNIQUE olarak tanımladığımız alana aynı veriyi giremiyoruz.
Master\Detail tablolama da aynı veri girme durumuz olacak (detail Tablosuna ) şöyleki
TBL_OGRENCI TABLOM (MASTER)
OGRENCI_ID *
ADI_SOYADI
SINIFI
TBL_DERSLER TABLOM (DETAY)
DERS_ID
OGRENCI_ID *
DERS_GIRIS
* Olanlar ortak key
OGRENCI_ID ADI_SOYADI SINIFI
1 abc 2A
2 abd 2C
3 abe 2A
4 abf 2A
DERS_ID OGRENCI_ID DERS_GIRIS
1 1 TURKCE
2 1 MATEMATIK
3 1 RESIM
4 2 TURKCE
5 2 FEN
6 2 RESIM
7 3 TURKCE
8 3 MATEMATIK
9 3 FEN
10 4 SOYAL
11 4 MATEMATIK
12 4 FEN
ana tablomuzda ADI_SOYADI bölümü UNIQUE indexi,detay tablomuzdaki DERS_GIRIS bölümünüde UNIQUE indexi yaparsak aynı dersi tekrar giremeyiz master tabloda farklı bir kayıt olsa dahi.örneğin burada aynı tablo içinde birden fazla TURKCE girilmiş istiyorum ki sadece bir kişiye birden fazla TURKÇE girilmesin bunu indexle nasıl ayarlayabiliriz.Teşekkürler
Dersler tablosundaki OGRENCI_ID + DERS_ID alanlarının ikisini birlikte PK (Birincil İndeks - Primary Key) olarak kullanabilirsin. Master/Detay yapısında ise sadece OGRENCI_ID leri ilişkilendirmen yeterli olacak. Bu şekilde OGRENCI tablosunda herhangi öğrenciyi seçtiğinde DERSLER tablosunda o OGRENCI_ID ye ait kaç tane ders kayıtı varsa hepsi gelecektir. OGRENCI_ID + DERS_ID tekil (unique, PK) olduğundan her dersten bir adet olabilecek. Birden fazla yıl yada yarıyıl olma durumunda PK ya YIL ya da YARIYIL diye bir alan daha ilave etmen gerekecektir
Hocam Tablo ilişkim dediğiniz gibi (Dersler tablosundaki OGRENCI_ID + DERS_ID alanlarının ikisini birlikte PK (Birincil İndeks - Primary Key) ) ve OGRENCI tablosunda herhangi öğrenciyi seçtiğinde DERSLER tablosunda o OGRENCI_ID ye ait kaç tane ders kayıtı varsa hepsi geleliyor.Ama ben detail tablosuna (DERSLER )şu kod ile ders ataması yapıyorum
Olur tabi ki. Fakat aynı DataSet le değil de farklı bir DataSet (IBTable2 gibi) ile yapmak gerekiyor. Çünkü yeni kayıt gilgilerini girdiğiniz DBGrid veya DBEdit ler önceki DataSet (IBTable1) e bağlı olacak. İsterseniz bu kontrol işini veritabanına yıkıp, eşsiz/unique indeks yapısının aynı/tekrarlayan/mükerrer kayıta zaten izin vermeyecektir. OnPost Error da da mesajı yakalarsiniz