SmileySN hat folgendes geschrieben: |
Wäre da nicht ein einfacher SQL string im query angebracht:
Delete From Tabelle2 Where Tabelle2.ArtikelNummer=Tabelle1Artikelnummer
oder mit einem Table Artikelnummer aus Tabelle1 merken in LArt dann einen Find auf Artikelnummer in Tabelle2 und den Datensatz löschen, dann in einer Schleife mit Find solange suchen und löschen bis nichts mehr gefunden wird. |
Danke, sicherlich eine Möglichkeit, jedoch zu langsam.
Meine eigene Lösung ist dann doch deutlich schneller:
procedure TDatenModul.
DB_1BeforeDelete(DataSet: TDataSet);
begin
DB_2.First;
While not
DB_2.Eof do
begin
If
DB_2.FieldValues['
DB_1_Verkn'] =
DB_1.FieldValues['Idx_
DB_1'] then
begin
DB_2.Delete;
end;
end;
end;
Aber das ist ja nicht der Kern der Sache (meiner Frage):
Kann man referentielle Integrität zwischen Haupt- und Detailtabellen zur Laufzeit so erzeugen, wie es mit der Datenbankoberfläche von Borland manuell machbar ist?!
Damit ist es ja auch per Programm ralisierbar!
...