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')