Delphi-Quellcode:
with Druckmodul.QrMaschine
Do
begin
Close;
SQL.Clear;
SQL.Add('
SELECT * FROM MASCHINEN M');
SQL.Add('
WHERE (M.MaschinenNr = :Maschinennr)');
Parambyname('
Maschinennr').AsString := ParamRef;
Prepare;
Open;
end;
vielleicht hilft ein Prepare.
Grüße
Klaus
Danke für Deine Rückantwort. Ich meine, den Auslöser für das merkwürdige Verhalten gefunden zu haben. In der Sequenz, die aus den Stammdaten aufgerufen wird, bekommt die Abfrage die Datasource des Stammsatzes als Referenz zugewiesen. Diese Referenz ist noch so lange aktiv bis die Tabelle geschlossen oder das Fenster eliminiert wird. CLOSE und CLEAR schließen und löschen zwar die Abfrage, aber die neue Abfrage versucht dann trotzdem als erstes mit der Datasource nach Referenzwerten zu suchen. Parambyname geht so ins Leere. Kann ich sogar verstehen, dass die Datasource Priorität hat, wenn sie den Feldnamen enthält.
Wenn man mit dem Problem konfrontiert wird, versteht man aber die Welt irgendwie nicht.
Viele Grüße
Ingo