Hi Alter Mann,
Für jeden Feldnamen im 1.Parameter der Locate-Methode musst du einen Wert im 2.Parameter übergeben. der wird auf Gleichheit geprüft. In den Options kannst Du noch angeben, ob bei einem Stringvergleich die Gross/Kleinschreibung eine Rolle spielt (loCaseInsensitive) bzw. ob man nach einem Substring suchen will (loPartialCompare).
Einen Bereich zu finden geht so nicht, dazu nimmst du etwas selbstgebautes:
Delphi-Quellcode:
Function LocateBetween (aDS : TDataset; aFieldName : String; aLowDate, aHighDate : TDateTime) : Boolean;
Var
fField : TDateTimeField;
Begin
Result := False;
fField := aDS.FieldByName(aFieldName);
While not ADS.Eof Do Begin
If (fField.AsDateTime >= aLowDate) And (fField.AsDateTime <= aHighDate) Then Begin
Result := True;
Exit;
End;
aDS.Next;
End;
End;