Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

AW: Daten aus der Detailtabelle löschen

  Alt 1. Jun 2011, 18:30
Im Event BeforeDelete greifst du dir den Wert des Primärschlüsselfeldes ab:
Delphi-Quellcode:
procedure TForm1.MasterTableBeforeDelete(Dataset:TDataset);
var
  masterkey : string;
begin
  masterkey := Dataset['PrimaerschlFeld'];
  // hier werden später die Detaildatensätze gelöscht
  ...
end;
Damit kannst du dir mit einer weiteren SQL-Anweisung die Detaildatensätze löschen:
Delphi-Quellcode:
procedure TForm1.DeleteDetail1ByMasterkey(const masterkey:string);
begin
  QueryDel1.SQL.Text := 'DELETE FROM DetailTable1 WHERE MKey='+QuotedStr(masterkey);
  QueryDel1.Execute;
end;
Hinweis: Übergabe des masterkey in der WHERE Bedingung sollte über einen Parameter erfolgen.
Das habe ich mir gespart, weil es so einfacher zu verstehen ist.


PS: bei einer richtigen Datenbank werden Detaildaten bei Bedarf automatisch gelöscht.
Paradox ist aber zu alt dafür.
Andreas
  Mit Zitat antworten Zitat