Hallo!
Sorry das ich nicht eher schreiben konnte.
Also. Ich vermute mal das Du zwei TDataSet (DST) Komponenten auf Deinem Formular hast, welche eine Verbindung mit einer DataSource (DS) haben.
Ich nenne sie hier: DST1 für Tabelle 1 und DST2 für Tabelle 2.
DataSource1 ist Verbunden mit DST1 und DataSource2 mit DST2.
Weiter gehe ich davon aus, das Du zwei TDBGrid komponenten in deinem Formular plaziert hast.
Ich möchte Dir das an einem Beispiel demonstieren. In dem Fall habe ich einen Rechnungskopf und einen Rechnungsheader.
Wenn ich in dem Rechnungskopf einen Datensatz anklicke (Grid1) möchte ich die Positionen zu dieser Rechnung in dem zweiten Grid angezeigt bekommen.
Also hätte ich, je nach Zugriffskomponente, folgende
SQL-Anweisung für DST1 implementiert.
select * from rechnungskopf
Wenn ich jetzt die zugeordneten Datensätze in dem zweiten Grid sehen möchte, muss ich ja die Datensätze in dem DST2 aktualisieren.
Also schreibe ich, in dem Ereignis 'OnAfterScroll' des DST1 folgende Anweisung:
Delphi-Quellcode:
DST2.Active := false;
DST2.SQL.Text := 'select * from rechnungsheader where NRRE = '+DST1.FieldByName('id').asString;
DST2.Active := true;
Somit hast Du die zugeordneten Datensätze in dem zweiten Grid selektiert und kannst Sie nach belieben bearbeiten.
Ich hoffe das ich Dir geholfen habe.
Gruss
Samson.