İki master Bir detay tabloyu relationship tanımlama

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
gokcemt
Üye
Mesajlar: 34
Kayıt: 01 Eki 2003 04:10
Konum: eskişehir

İki master Bir detay tabloyu relationship tanımlama

Mesaj gönderen gokcemt »

İki ayrı master tablom var

Kod: Tümünü seç

MasterTable1 
Refkod (PK) AutoInc alan, Format (S-1,S-2,S-3....)
Açıklama

MasterTable2
Refkod (PK) AutoInc alan, Format (T-1,T-2,T-3....)
Açıklama

DetailTable
Refkod (PK)
Açıklama
Ödendi

Master tablolardan girilen kayıtları detay tabloya otomatik giriyor. Refkod auto formatlı alan olduğu için detayda tekrar etme imkanı yok. Ben REFKOD alanından relationship tanımlayarak 2 master tabloyu 1 detay ile relationship(update,delete) ilişkilendirmek istiyorum. Fakat master1 den girilen bilgiyi detaya kaydetmek için master2dede arıyor ve bulamadığı için hata veriyor. Bu durumu nasıl çözebilirim? Mantık hatası nerede yapıyorum?
west
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
söylediğiniz şey pek mümkün değil. çünkü dediğiniz gibi aynı kaydın iki master tablosundada olması lazım.
şöyle bir yol izlenebilir.
detay tablosuna yeni bir pk alanı ve refkod için ikinci bir alan ekleyin tablonun son hali şöyle olacaktır.

Kod: Tümünü seç

ID (PK)
Refkod1 
Refkod2
Açıklama
Ödendi 
master tablo1 refkod1 i kullanır refkod2 ye de 0 (sıfır) değerini verir.
master tablo2 refkod2 yi kullanır refkod1 e de 0 (dıfır) değerini verir.

master tablo1 ve mastertablo2 de refkod alanı 0(sıfır) olan bir kayıt açarsın ve bu kaydı kullanıcılara göstermezsin. selectlerde bunuda dikkate alırsın.
burda master tablolarındaki refkod alanların autoformat lı olduğuna göre formata uyan ilk kaydı 0 (sıfır) yerine kullanabilirsin.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
gokcemt
Üye
Mesajlar: 34
Kayıt: 01 Eki 2003 04:10
Konum: eskişehir

Mesaj gönderen gokcemt »

Evet bende düşündüm o yolu fakat iki adet REFNO alanı tutmak programcılık açısından çok sağlıklı gelmedi tek alanda halledebiliriz gibi geldi. Ama dediğin gibi öyle bir yöntem yok şuan öyle bir seçenek yok yani. Çok teşekkür ederim değerli cevabın için.
west
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

gokcemt yazdı: Çok teşekkür ederim değerli cevabın için.
eyvallah :alkis: :bravo:
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Cevapla