Ich werfe dann noch mal das Stichwort Locate im Dataset in den Raum...
Das wäre auch mein erster Gedanke gewesen. Zwei Buttons, Button_Vor und Button_Zurueck, die bei erfolgreicher Suche enabled werden, in einem Editfeld das Suchwort, mit Enter die Suche auslösen (Locate), in den Button-Click-Proceduren jeweils LocateNext und LocatePrior ... oder bei Suchen über mehrere Felder, die z.B. auch Memo-Felder beinhalten, eine Spalte MARKIERT in die Tabelle einfügen und bei Fund markieren (zuvor natürlich erstmal demarkieren, also
...FieldByName('MARKIERT').AsBoolean := FALSE;
, aber das würde schon wieder auf die
DB zugreifen).
Oder einfach mit CachedUpdates arbeiten ... hat aber auch Nachteile, wenn mehrere Benutzer auf die
DB zugreifen.