Hallo Union,
danke für den Hinweis. Ich habe soeben das Problem gelöst.
Die Ursache hierfür lag ganz woanderst, und möchte Euch auch die Lösung nicht vorenthalten
Hier der fehlerbehaftete Code:
Delphi-Quellcode:
//------------------------------------------------------------------------------
// Neue Anfrage, wenn Kunde gewechselt wird, Ansprechpartner aktualisieren
//------------------------------------------------------------------------------
procedure TfrmDLS_erstellen.DBEdit1Change(Sender: TObject);
begin
With dataModul do begin
if DBEdit14.Text <> '' then
AdoQuery_Ansprechpartner.SQL.Clear;
AdoQuery_Ansprechpartner.SQL.Text := 'SELECT * from DLS_KDAnsprech '+
'WHERE DLS_KDAnsprech.KLFDNR = :sKLFDNR order by Name asc';
AdoQuery_Ansprechpartner.Parameters.ParamByName('sKLFDNR').Value := DBEdit14.Text;
AdoQuery_Ansprechpartner.Active := true;
end;
end;
Nachdem der Befehl zum schliessen des Formulars kam, hatte das datensensitive Feld DBEdit14, keinen Wert mehr, wahr also leer.
Folglich musste die Abfrage darunter fehlschlagen. Die Selectabfrage konnte keinen Wert zurückliefern.
Den Code habe ich dann wie folgt geändert :
Delphi-Quellcode:
//------------------------------------------------------------------------------
// Neue Anfrage, wenn Kunde gewechselt wird, Ansprechpartner aktualisieren
//------------------------------------------------------------------------------
procedure TfrmDLS_erstellen.DBEdit1Change(Sender: TObject);
begin
With dataModul do begin
if DBEdit14.Text <> '' then begin // hier begin eingefügt
AdoQuery_Ansprechpartner.SQL.Clear;
AdoQuery_Ansprechpartner.SQL.Text := 'SELECT * from DLS_KDAnsprech '+
'WHERE DLS_KDAnsprech.KLFDNR = :sKLFDNR order by Name asc';
AdoQuery_Ansprechpartner.Parameters.ParamByName('sKLFDNR').Value := DBEdit14.Text;
AdoQuery_Ansprechpartner.Active := true;
end; // hier end eingefügt
end;
end;
Zur Veranschaulichung siehe Grafik unten.