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:- 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
- 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.
- 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