Mit der Methode Locate können Sie einen Datensatz in der Datenmenge suchen und ihn zum aktuellen Datensatz machen.
Delphi-Quellcode:
function Locate(const KeyFields: String; const KeyValues: Variant; Options: TLocateOptions
): Boolean;
Beschreibung
Mit Locate können Sie einen Datensatz in einer Datenmenge suchen und den Cursor auf diesen Datensatz setzen. KeyFields ist ein String mit einer durch Semikolons getrennten Liste der Felder, die durchsucht werden sollen.
KeyValues ist ein variantes Array mit den Werten, die in den Schlüsselfeldern gesucht werden sollen. Wenn KeyField ein einzelnes Feld enthält, gibt KeyValue den Wert für dieses Feld im gewünschten Datensatz an. Um mehrere zu suchende Werte festzulegen, übergeben Sie ein variantes Array als KeyValues oder erstellen ein variantes Array mit der Routine VarArrayOf. Ein Beispiel:
Delphi-Quellcode:
with CustTable do
Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver', 'P', '408-431-1000']), [loPartialKey]);
Options ist eine Menge, mit der die Suche in Stringfeldern genauer definiert werden kann. Enthält Options das Flag loCaseInsensitive, berücksichtigt Locate die Groß-/Kleinschreibung nicht. Enthält Options das Flag loPartialKey, werden teilweise Übereinstimmungen in den Strings von KeyValues gesucht. Enthält Options eine leere Menge oder handelt es sich bei der Eigenschaft KeyFields nicht um Stringfelder, wird Options ignoriert.
Wird ein übereinstimmender Datensatz gefunden, gibt Locate den Wert True zurück und aktiviert den gefundenen Datensatz. Andernfalls wird False zurückgegeben.
Bei der Suche nach übereinstimmenden Datensätzen wird die schnellste Methode verwendet. Sind die Suchfelder in KeyFields indiziert und ist der Index mit der angegebenen Suchoption kompatibel, wird der Index verwendet. Andernfalls wird für die Suche ein Filter erstellt.