ok. Jetzt glaube ich zu verstehen, was Du meinst. Das ist keine referentielle Integrität. Eher eine parameterabhängige
Query. Machst Du so:
Query1:
SQL-Code:
SELECT MA.id_Motorart
,MA.Motorart
,TS.id_Typenschild
-- ,TS.sid_Motorart -- unnötig, da gleich MA.id_Motorart
-- ,sid_Fabrikat -- dto. FB.id_Fabrikat
,TS.Typ
-- auf Deinem Plan nicht zu sehen aus welcher Tabelle
,TS.Drehzahl
-- dto. (eventuell Tabellen-Präfix berichtigen)
,TS.Motornummer
-- dto.
,TS.Leistung_KW
-- dto.
,
FB.id_Fabrikat
,
FB.Fabrikat
FROM tbl_Motorart MA
INNER JOIN tbl_Typenschild TS
ON TS.sid_Motorart = MA.id_Motorart
INNER JOIN tbl_Fabrikat
FB
ON FB.id_Fabrikat = MA.sid_Fabrikat
WHERE (TS.Typ
like :p1)
-- Tabellenpräfixe checken und ggF. anpassen
OR (TS.Fabrikat
like :p1)
OR (TS.Drehzahl
like :p1)
OR (TS.Motornummer
like :p1)
OR (TS.Leistung_KW
like :p1)
Query2:
SQL-Code:
SELECT WD.id_Wickeldaten
,WA.id_Wicklungsart
,WA.Wicklungsart
- ,UndWasImmerDuSonstNochSoBrauchst
FROM tbl_Wickeldaten WD
INNER JOIN tbl_WicklungsArt WA
ON WA.id_WicklungsArt = WD.sid_WicklungsArt
WHERE WD.sid_TypenSchild = :id_TypenSchild
-- ^<--- der DoppelPunkt macht's!
Der Doppelpunkt vor dem "id_Typenschild" macht daraus einen Parameter. Der wird nun folgendermaßen aus der 1.
Query immer dann mit einem frischen Wert versorgt, wenn dort ein anderer Datensatz gewählt wird:
Auf Formular gehören 2 TDataSources. Die eine im ObjektInspektor (Eigenschaft DataSet) an die 1.
Query, die andere an die 2.
Query hängen. Wieder im
OI die Eigenschaft DataSource der 2.
Query auf 1. DataSource (Die mit 1.Query verbunden ist) setzen.
Fertig. Muß gehen. Eigentlich. Probiermal.
Gruß