Programmieren mit dBASE PLUS: Funktionen: findKey

Aus Wikibooks


Sucht den Datensatz, dessen Schlüsselwert mit dem gesuchten Wert exakt übereinstimmt.

Syntax[Bearbeiten]

<oReferenz>.findKey(<Ausdruck>)

<oReferenz>

Der zu durchsuchende Datensatzbereich.

<Ausdruck>

Der gesuchte Wert.

Eigenschaft von[Bearbeiten]

Rowset

Beschreibung[Bearbeiten]

findKey( ) führt in dem betreffenden Datensatzbereich einen indexbezogenen Suchlauf durch. Dabei wird der Index verwendet, der durch die Eigenschaft indexName des betreffenden Rowset-Objekts spezifiziert wurde. Die Methode sucht im Index die erste Zeile, deren Wert dem angegebenen <Ausdruck> entspricht, und gibt True zurück, wenn die Suche erfolgreich war, oder False, wenn sie fehlschlug.

findKey( ) ist eine Navigationsmethode; bei ihrem Aufruf wird das canNavigate-Event ausgelöst. Ergibt dieses False, hat kein Suchlauf stattgefunden. Bei einem erfolglosen Suchlauf wird der Datensatzcursor in die aktuelle Zeile gesetzt. Nach jedem versuchten Suchlauf wird onNavigate ausgelöst. Informationen über die Interaktion von Navigationsmethoden und Navigations-Events sowie impliziten Speicherungen finden Sie unter next( ).

findKey( ) sucht immer nach einer teilweisen Übereinstimmung mit Strings. So findet findKey("S") beispielsweise das Wort ”Schubert” oder auch jeden anderen Schlüsselwert, der mit dem Buchstaben S beginnt. Wenn nur nach kompletten Schlüsselwerten gesucht werden soll, müssen Sie <Ausdruck> mit so vielen zusätzlichen Leerzeichen versehen, daß das Resultat der Länge der Schlüsselwerte entspricht.