IDXCOLLATE( )-Funktion

Gibt die Sortierreihenfolge eines Indexes oder eines Indexnamens zurück.

IDXCOLLATE([cCDXFileName,] nIndexNumber [, nWorkArea | cTableAlias])

Rückgabewerte

Zeichen

Parameter

  • cCDXFileName
    Gibt den Namen einer Mehrfachindexdatei an. Als Mehrfachindexdatei können Sie die strukturierte Mehrfachindexdatei angeben, die automatisch zusammen mit der Tabelle geöffnet wird, oder eine unabhängige Mehrfachindexdatei.

  • nIndexNumber
    Gibt den Index oder Indexnamen an, dessen Sortierreihenfolge von IDXCOLLATE( ) zurückgegeben wird. IDXCOLLATE( ) gibt die Sortierreihenfolge von Indizes und Indexnamen in der folgenden Reihenfolge zurück, wenn nIndexNumber von 1 bis zur Gesamtanzahl der geöffneten Indexdateien und Indexnamen erhöht wird:

    1. Die Sortierreihenfolgen für IDX-Einfachindexdateien (sofern solche geöffnet sind) werden als erste zurückgegeben. Die Reihenfolge, in der die Einfachindexdateien in USE oder SET INDEX aufgeführt sind, legt fest, wie die Sortierreihenfolgen zurückgegeben werden
    2. Sortierreihenfolgen für Schlüssel aus der strukturierten Mehrfachindexdatei (sofern vorhanden) werden als nächstes zurückgegeben. Die Sortierreihenfolgen der Schlüssel werden in der Reihenfolge zurückgegeben, in der die Schlüssel im strukturierten Mehrfachindex erstellt wurden.
    3. Die Sortierreihenfolgen für Schlüssel in geöffneten, unabhängigen Mehrfachindexdateien werden als letzte zurückgegeben. Die Sortierreihenfolgen der Schlüssel werden in der Reihenfolge zurückgegeben, in der die Schlüssel in den unabhängigen Mehrfachindexdateien erstellt wurden.

    Eine leere Zeichenfolge wird zurückgegeben, wenn nIndexNumber größer als die Gesamtanzahl der geöffneten IDX-Einfachindexdateien sowie der strukturierten und unabhängigen Mehrfachindexnamen ist.

  • nWorkArea
    Gibt den Arbeitsbereich der Tabelle an, für die IDXCOLLATE( ) die Sortierreihenfolgen von Indexdateien und Indexnamen zurückgibt.

    IDXCOLLATE( ) gibt eine leere Zeichenfolge zurück, wenn im angegebenen Arbeitsbereich keine Tabelle geöffnet ist.

  • cTableAlias
    Gibt den Alias der Tabelle an, für die IDXCOLLATE( ) die Sortierreihenfolgen von Indexdateien und Indexnamen zurückgibt.

    Visual FoxPro zeigt eine Fehlermeldung an, wenn Sie einen Tabellenalias angeben, den es nicht gibt.

Hinweise

IDXCOLLATE( ) kann verwendet werden, um die Sortierreihenfolge der einzelnen Schlüssel in Mehrfachindexdateien zurückzugeben. Dies ermöglicht Ihnen, eine Indexdatei komplett zu löschen und mit Hilfe einer Reihe von SET COLLATE- und INDEX-Befehlen wieder korrekt zu erstellen.

Beachten Sie, dass IDXCOLLATE( ) nicht benötigt wird, damit REINDEX richtig ausgeführt werden kann, da die Informationen über die Sortierreihenfolge in vorhandenen Indizes und Indexnamen aufgezeichnet sind.

Weitere Informationen zur Unterstützung landesspezifischer Funktionen in Visual FoxPro finden Sie unter Entwickeln internationaler Anwendungen.

Beispiel

Im folgenden Beispiel wird die Tabelle customer in der Datenbank testdata geöffnet. Mit FOR ... ENDFOR wird eine Schleife erstellt, in der unter Verwendung von IDXCOLLATE( ) die Sortierreihenfolge der einzelnen Indexnamen des strukturierten Indexes von customer angezeigt wird. Die Namen der Indexnamen der strukturierten Indexdatei werden zusammen mit der Sortierreihenfolge 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
   ?? IDXCOLLATE(nCount)  && Display collation sequence
   ELSE
      EXIT  && Exit the loop when no more tags are found
   ENDIF
ENDFOR

Siehe auch

SET COLLATE-Befehl | Entwickeln internationaler Anwendungen | INDEX-Befehl