Freigeben über


LOOKUP( )-Funktion

Durchsucht eine Tabelle nach dem ersten Datensatz mit einem Feld, das mit dem angegebenen Ausdruck übereinstimmt.

LOOKUP(ReturnField, eSearchExpression, SearchedField [, cTagName])

Rückgabewerte

Zeichen, Numerisch, Währung, Gleitkomma, ganze Zahl, Double, Datum, DatumZeit oder Logisch

Parameter

  • ReturnField
    Gibt das Feld an, dessen Inhalt von LOOKUP( ) bei erfolgreicher Suche zurückgegeben wird. Ist die Suche nicht erfolgreich, gibt LOOKUP( ) eine leere Zeichenfolge derselben Länge und desselben Datentyps wie ReturnField zurück.

  • eSearchExpression
    Gibt den Suchausdruck an. Beim Suchausdruck handelt es sich normalerweise um den Inhalt eines Feldes der Tabelle. Er kann aber auch dem Indexausdruck des aktiven Indexes entsprechen.

  • SearchedField
    Gibt das zu durchsuchende Feld an. Besitzt die Tabelle keinen aktiven Index, durchsucht LOOKUP( ) nacheinander das in SearchedField angegebene Feld.

    Ist eine Indexdatei oder ein -name geöffnet, bei deren Indexschlüsselausdruck es sich um das angegebene Suchfeld handelt, verwendet LOOKUP( ) diese Indexdatei oder diesen -namen zur Ausführung einer schnelleren Suche.

  • cTagName
    Gibt den Namen eines Indexes an, der Bestandteil einer Mehrfachindexdatei ist. Diesen Index verwendet LOOKUP( ) für den Suchvorgang. Eine auf einem solchen Index basierende Suche ist die schnellste Suchart , die LOOKUP(°) durchführen kann.

Hinweise

Ist die Suche erfolgreich, verschiebt LOOKUP( ) den Datensatzzeiger auf den übereinstimmenden Datensatz und gibt den Inhalt des angegebenen Datensatzfeldes zurück.

Ist der Suchausdruck nicht auffindbar, gibt LOOKUP( ) eine leere Zeichenfolge derselben Länge und desselben Datentyps wie ReturnField zurück. Der Datensatzzeiger wird an das Ende der Datei gestellt.

Durchsucht LOOKUP( ) eine Master-Tabelle, werden die Datensatzzeiger in allen zugehörigen Detailtabellen auf die entsprechenden Datensätze verschoben.

Diese Funktion kann nicht mit der Rushmore-Technologie optimiert werden.

Beispiel

Im folgenden Beispiel verwendet LOOKUP( ) den Indexnamen company um das erste Vorkommen der Zeichenfolge "Ernst Handel" zu finden. Ist die Suche erfolgreich, gibt LOOKUP( ) den Inhalt des Feldes contact zurück und @ ... SAY zeigt den Rückgabewert an.

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer ORDER company  && Open Customer table
CLEAR
@ 2,2 SAY LOOKUP(contact, 'Ernst Handel', company, 'company')

Siehe auch

FIND | INDEX | LOCATE | SEEK | SEEK( )