Ich habe zwar zu deinem Problem erst mal keine Lösung, aber einen Rat hätte ich: Nimm den Teil, der mit der Suche in der
DB zu tun hat, aus der Ereignisfunktion raus
Delphi-Quellcode:
Form1.listbox1.Items.clear;
Form1.QCD1.Close;
Form1.QCD1.SQL.Clear;
Form1.QCD1.SQL.Add('Select * From Konten Where KontoNr Like '+QuotedStr(DataKonto+'%'));
Form1.QCD1.Open;
While not Form1.QCD1.Eof do
Begin
Form1.ListBox1.Items.Add(form1.QCD1KontoNr.AsString + ' ' +
form1.QCD1Beschriftung.AsString);
Form1.QCD1.Next
End;
und schreib dafür eine separate Funktion, der man den eingetippten Such-String übergeben kann.
Edit: Jetzt habe ich auch eine Lösung bzw. Frage. Warum nimmst du nicht das "OnChange"-Ereignis? Du brauchst doch auf die Tasten nicht reagieren, das macht doch das Eingabefeld von sich. Im "OnChange" liest du bloß den aktuellen Inhalt aus und übergibst den an die oben vorgeschlagene Suchfunktion.