Diese =)(/%%&$§-Locate-Funktion funktioniert manchmal, manchmal nicht. Speziell bei berechneten Feldern klappt das nicht alles so, wie es sollte.
Versuch die mal. Die sucht nur nach einem Feld.
Delphi-Quellcode:
Function csLocate (aDS : TDataSet; aField : String; aValue : Integer) : Boolean;
Var
B : TBookmark;
Begin
B := aDS.GetBookmark;
aDS.DisableControls;
Try
aDS.First;
Result := True;
While not aDS.Eof do
If aDS.FieldValues [aField] = aValue Then
Exit
Else
aDS.next;
Result := False;
aDS.GotoBookmark(B);
Finally
aDS.FreeBookMark(B);
aDS.EnableControls;
End
End;
Getippt und nicht getestet.