Freigeben über


SEEK( )-Funktion

Durchsucht eine indizierte Tabelle nach dem ersten Auftreten eines Datensatzes, dessen Indexschlüssel mit einem angegebenen Ausdruck übereinstimmt. Gibt einen logischen Wert zurück, der angibt, ob der Suchvorgang erfolgreich war.

SEEK(eExpression [, nWorkArea | cTableAlias
   [, nIndexNumber | cIDXIndexFileName | cTagName]])

Rückgabewerte

Logisch

Parameter

  • eExpression
    Gibt den Indexschlüsselausdruck an, nach dem SEEK( ) suchen soll.

  • nWorkArea
    Gibt die Nummer des Arbeitsbereichs der Tabelle an, die nach dem Indexschlüsselwert durchsucht wird.

  • cTableAlias
    Gibt den Alias der durchsuchten Tabelle an.

    Wenn Sie nWorkArea und cTableAlias weglassen, wird die Tabelle im aktuell ausgewählten Arbeitsbereich durchsucht.

  • nIndexNumber
    Gibt die Nummer der Indexdatei oder den Indexnamen an, der für die Suche nach dem Indexschlüsselwert verwendet werden soll. nIndexNumber bezieht sich auf die Indexdateien entsprechend der Reihenfolge in USE oder SET INDEX. Geöffnete IDX-Dateien werden zunächst in der Reihenfolge nummeriert, in der sie in USE oder SET INDEX angezeigt werden. Danach werden Indexnamen in der strukturierten CDX-Datei (falls vorhanden) in der Reihenfolge nummeriert, in der sie erstellt wurden. Zum Schluss werden die Indexnamen in allen geöffneten unabhängigen CDX-Dateien in der Reihenfolge ihrer Erstellung nummeriert. Weitere Information über die Nummerierung von Indizes finden Sie unter SET ORDER.

  • cIDXIndexFileName
    Gibt die IDX-Datei an, die für die Suche nach dem Indexschlüssel verwendet werden soll.

  • cTagName
    Gibt den Indexnamen einer CDX-Datei an, die für die Suche nach dem Indexschlüssel verwendet wird. Der Indexname kann aus einer strukturierten CD-Datei oder aus einer offenen unabhängigen CDX-Datei stammen.

    Anmerkung   Bei Namensübereinstimmungen zwischen IDX-Dateien und Indexnamen hat die IDX-Datei Vorrang.

Hinweise

Sie können SEEK( ) für eine Tabelle verwenden, für die eine Indexreihenfolge festgelegt ist. Ist keine Indexreihenfolge festgelegt, können Sie den Hauptindex mit dem dritten Parameter, nIndexNumber, cIDXIndexFileName oder cTagName, festlegen. Es muss eine genaue Übereinstimmung vorliegen, es sei denn, dass SET EXACT auf OFF gesetzt wurde.

Bei einer Übereinstimmung gibt SEEK( ) Wahr (.T.) zurück, und der Datensatzzeiger wird auf dem übereinstimmenden Datensatz positioniert. Kommt es zu keiner Übereinstimmung, gibt SEEK( ) Falsch (.F.) zurück, und der Datensatzzeiger wird an das Dateiende gesetzt. SEEK( ) hat die gleiche Bedeutung, als würden Sie SEEK und FOUND( ) nacheinander eingeben.

Ohne Angabe der Argumente nIndexNumber, IDXIndexFileName und cTagName verwendet SEEK( ) den Hauptindex oder Hauptindexnamen, um nach dem Indexschlüssel zu suchen.

Beispiel

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer ORDER cust_id  && Opens Customer table
? SEEK('CHOPS')  && Returns .T., record found

Siehe auch

EOF( )-Funktion | FOUND( )-Funktion | INDEXSEEK( )-Funktion | LOCATE-Befehl | SEEK-Befehl | SET ORDER-Befehl