arkadaşlar. elimde 3 adet table var. table5 ana table diğerlerinin mastersourcesi.
ben ana tabledeki kaydı sildiğimde detay tabledeki table3 ve table4 de detay olarak
10-15 er tane kayıt var. ana tabledeki kaydı sildiğimde detayları silmek için
aşağıdaki iki türlü kodlarıda denedim. ancak ana table5 ten kaydı sildiğimde
detaylardan sadece en üstteki kayıt hangisi ise o siliniyor. tüm detay silinmiyor.
nerde yanlış yaptım. bir çare..
AŞAĞIDAKİ HER İKİ ÖRNEĞİDE DENEDİM SONUÇ AYNI.
procedure TfrmProg.Table5BeforeDelete(DataSet: TDataSet);
begin
table3.First;
while not table3.Eof do
table3.Delete;
end;
table4.First;
while not table4.Eof do
table4.Delete;
end;
end;
procedure TfrmProg.Table5BeforeDelete(DataSet: TDataSet);
begin
with Table3 do begin
First;
While not EOF do
Delete;
EnableControls;
end;
with Table4 do begin
First;
While not EOF do
Delete;
EnableControls;
end;
end;
detayı olan tablodan kayıt silme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
detayı olan tablodan kayıt silme
Siz İman Etmedikçe Cennete Giremezsiniz. Birbirinizi Sevmedikçede İman Etmiş Olamazsınız.
Hz.Muhammed (S.A.V.)

Hz.Muhammed (S.A.V.)

Selam..
- Kodlarda hata yok... Tam olarak istediğin işlem için kurulmuş...
- Gözden kaçırdığın bir olay var bence... Beforedelete olayında bunlar kurgulanmış ama Table4 ve Table3'ün After delete olayında close/open gibi bir iki işlem var gibime geliyor... Tabii kodlar sende kontrol edecek olan sensin...
- Kodlarda hata yok... Tam olarak istediğin işlem için kurulmuş...
- Gözden kaçırdığın bir olay var bence... Beforedelete olayında bunlar kurgulanmış ama Table4 ve Table3'ün After delete olayında close/open gibi bir iki işlem var gibime geliyor... Tabii kodlar sende kontrol edecek olan sensin...

Kullandığın Database ve component ları yazsaydın daha iyi olurdu.
Şunu dene
table3.First;
while not table3.Eof do
table3.Delete;
table3.First;
end;
EOF tetiklenmiyor olabilir. Eğer FB/IB kullanıyorsan Foreingkey kullan. OnDelete i cascade yap. Master kaydı sildiğinde her bağlı detay tabloyu kendisi siler
Kolay gele
[/b]
Şunu dene
table3.First;
while not table3.Eof do
table3.Delete;
table3.First;
end;
EOF tetiklenmiyor olabilir. Eğer FB/IB kullanıyorsan Foreingkey kullan. OnDelete i cascade yap. Master kaydı sildiğinde her bağlı detay tabloyu kendisi siler
Kolay gele
[/b]
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
okey
mrmcop arkadaşın dediği gibi detay tabloların after deletesine yazdığım olayları kaldırınca düzeldi teşekkürler
Siz İman Etmedikçe Cennete Giremezsiniz. Birbirinizi Sevmedikçede İman Etmiş Olamazsınız.
Hz.Muhammed (S.A.V.)

Hz.Muhammed (S.A.V.)
