Freigeben über


KEY( )-Funktion

Gibt den Indexausdruck eines Indexnamens oder einer -datei zurück.

KEY([CDXFileName,] nIndexNumber [, nWorkArea | cTableAlias])

Rückgabewerte

Zeichen

Parameter

  • CDXFileName
    Gibt den Namen einer Mehrfachindexdatei an. KEY( ) gibt die Indexausdrücke des Indexnamens der CDX-Datei zurück. Die angegebene Mehrfachindexdatei kann entweder die strukturierte Mehrfachindexdatei sein, die automatisch zusammen mit der Tabelle geöffnet wird, oder eine unabhängige Mehrfachindexdatei.

  • nIndexNumber
    Gibt an, welcher Indexausdruck zurückgegeben werden soll.

    USE und SET INDEX unterstützen eine Indexdateiliste, mit der Sie mehrere Indexdateien für eine Tabelle öffnen können. Beliebige Kombinationen aus IDX-Einfachindex-, strukturierten und unabhängigen Mehrfachindexdateien können in die Indexdateiliste aufgenommen werden.

    Der numerische Ausdruck nIndexNumber gibt an, welcher Indexausdruck aus den offenen Indexdateien zurückgegeben werden soll. KEY( ) gibt Indexausdrücke aus offenen Indexdateien in der folgenden Reihenfolge zurück, wenn nIndexNumber von 1 bis zur Gesamtanzahl der offenen IDX-Einfachindex- und strukturierten und unabhängigen Mehrfachindexnamen erhöht wird:

    1. Indexausdrücke aus IDX-Einfachindexdateien (sofern solche geöffnet sind) werden als Erste zurückgegeben. Die Reihenfolge, in der die Einfachindexdateien in USE oder SET INDEX enthalten sind, legt die Reihenfolge der Rückgabe der Indexausdrücke fest.
    2. Indexausdrücke für jeden Namen in einem strukturierten Mehrfachindex (sofern vorhanden) werden danachNächste zurückgegeben. Die Indexausdrücke der Namen werden in der Reihenfolge zurückgegeben, in der die Namen im strukturierten Index erstellt wurden.
    3. Indexausdrücke für jeden Namen in allen offenen unabhängigen Mehrfachindizes werden zuletzt zurückgegeben. Die Indexausdrücke der Namen werden in der Reihenfolge zurückgegeben, in der die Namen in den unabhängigen Mehrfachindizes erstellt wurden.

    Die Rückgabe einer leeren Zeichenfolge erfolgt, wenn nIndexNumber größer als die Gesamtanzahl der geöffneten IDX-Einfachindexdateien sowie der strukturierten und unabhängigen Mehrfachindexnamen ist.

  • nWorkArea
    Gibt die Arbeitsbereichsnummer der Tabelle an, deren Indexausdrücke von KEY(°) zurückgegeben werden sollen.

    Ist im angegebenen Arbeitsbereich keine Tabelle geöffnet, gibt KEY(°) eine leere Zeichenfolge zurück.

  • cTableAlias
    Gibt den Alias der Tabelle an, deren Indexausdrücke von KEY(°) zurückgegeben werden sollen.

    Besitzt keine Tabelle den angegebenen Alias, generiert Microsoft Visual FoxPro eine Fehlermeldung.

    Wird nWorkArea und cTableAlias ausgelassen, werden die Indexausdrücke der im aktuellen Arbeitsbereich geöffneten Tabelle zurückgegeben.

Hinweise

Ein Indexausdruck ist angegeben, wenn ein Indexname oder eine Indexdatei mit INDEX erzeugt wird. Der Indexausdruck bestimmt, wie Sie eine Tabelle anzeigen oder darauf zugreifen, wenn der Indexname oder die -datei als steuernder Hauptindexname oder als steuernde Hauptindexdatei geöffnet ist.

Weitere Informationen zum Erstellen von Indexnamen, Indexdateien und Indexausdrücken finden Sie unter INDEX.

Beispiel

Im folgenden Beispiel wird die Tabelle customer in der Datenbank testdata geöffnet. Mit FOR ... ENDFOR wird eine Schleife erstellt, in der mit Hilfe von KEY( ) der Indexausdruck der einzelnen Indexnamen im strukturierten Index von customer angezeigt wird. Der Name jedes strukturierten Indexnamens wird mit seinem Indexausdruck angezeigt.

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE Customer     && Open customer table
CLEAR

FOR nCount = 1 TO 254
   IF !EMPTY(TAG(nCount))  && Checks for tags in the index
   ? TAG(nCount) + ' '  && Display tag name
   ?? KEY(nCount)  && Display index expression
   ELSE
      EXIT  && Exit the loop when no more tags are found
   ENDIF
ENDFOR

Siehe auch

INDEX | REINDEX | SET INDEX | SYS(14) - Indexausdruck | USE