Du mußt die Datenmenge aufbereiten, also zuerst eine vernünftige SELECT.
Das geht ungefähr so:
Delphi-Quellcode:
ArtDS.Close;
ArtDS.SelectSQL.Text := 'SELECT * FROM ART WHERE UPPER (BEZ) LIKE UPPER (''%' + LabeledEdit1.Text + '%'') ORDER BY NR';
ArtDS.Open;
IF NOT ArtDS.IsEmpty THEN BEGIN
WHILE NOT ArtDS.EOF AND weiter DO BEGIN
lblArtBez.Caption := ArtDS.FieldByName ('BEZ').AsString;
CASE MessageDlg('Artikel gefunden ?',mtInformation,
[mbYes, mbNo, mbCancel], 0) OF
mrNo : begin
weiter := true;
lblArtNr.Caption := '';
end;
mrYes : begin
weiter := false;
gefunden := true;
close;
end;
mrCancel : begin
LabeledEdit1.Text := '';
weiter := false;
close;
lblArtNr.Caption := '';
end;
END;
IF weiter THEN
ArtDs.Next;
END;
IF ArtDS.Eof THEN
ShowMessage ('nicht gefunden !');
END
Nur als Anhaltspunkt ! Der Code ist viel umfangreicher, alles wäre jetzt zuviel und überflüssig. Das Proggy sucht anhand einer in ein Editfeld eingegebenen Suchanforderung zuerst mal alle Daten zusammen, die zutreffen KÖNNTEN. Da kannst Du nun durchwandern mit next. Dann habe ich noch 2 Variable "weiter" und gefunden". gefunden ist eben gefunden. weiter ist nicht gefunden, aber noch was da zum suchen. Den Rest mußt Du Dir denken/selber machen.