Freigeben über


KEYMATCH( )-Funktion

Durchsucht einen Indexnamen oder eine -datei nach einem Indexschlüssel.

KEYMATCH(eIndexKey [, nIndexNumber [, nWorkArea | cTableAlias]])

Rückgabewerte

Logisch

Parameter

  • eIndexKey
    Gibt den Indexschlüssel an, den KEYMATCH( ) sucht. Die Indexschlüssel in einer Indexdatei oder einem -namen werden durch den Indexausdruck bestimmt. Ein Indexausdruck wird angegeben, wenn eine Indexdatei oder ein -name mit INDEX erstellt wird. Mit KEY( ) und SYS(14) können diese Ausdrücke abgefragt werden. Weitere Informationen zum Erstellen von Indexdateien, Indexausdrücken und Indexschlüsseln finden Sie unter INDEX.

    Wurde keiner der optionalen Parameter einbezogen, durchsucht KEYMATCH( ) die Hauptindexdatei oder den -namen nach dem angegebenen Indexschlüssel. Ist keine Hauptindexdatei und kein Indexname gültig, (weil Sie z. B. SET ORDER TO ohne Parameter abgesetzt haben, um die Tabelle in der natürlichen Reihenfolge der Datensätze zu verwenden) generiert Visual FoxPro eine Fehlermeldung.

  • nIndexNumber
    Gibt an, welche Indexdatei oder welcher Indexname durchsucht wird. nIndexNumber ist normalerweise eine ganze Zahl, die angefangen bei 1 zum Durchsuchen weiterer Indexnamen jeweils um 1 erhöht wird.

    Ist nIndexNumber gleich 1, wird die Hauptindexdatei (IDX) mit Einfachindex oder der Hauptindexname (sofern vorhanden) durchsucht.

    Wird nIndexNumber erhöht, werden weitere Indexnamen im strukturierten Mehrfachindex (sofern vorhanden) durchsucht. Die Indexnamen werden in der Reihenfolge durchsucht, in der die Namen im strukturierten Mehrfachindex erstellt wurden.

    Nachdem nIndexNumber weiter erhöht und alle Indexnamen im strukturierten Mehrfachindex durchsucht wurden, werden Indexnamen in allen offenen unabhängigen Mehrfachindizes durchsucht. Die Namen werden in der Reihenfolge durchsucht, in der sie in den unabhängigen Mehrfachindizes erstellt wurden.

    Eine Fehlermeldung wird dann generiert, wenn nIndexNumber größer als die Gesamtanzahl der offenen IDX-Einfachindexdateien und der strukturierten und unabhängigen Mehrfachindexnamen ist.

  • nWorkArea cTableAlias
    Durchsucht Indexdateien oder -namen, die in einem anderen Arbeitsbereich geöffnet sind. nWorkArea gibt die Nummer des Arbeitsbereichs, cTableAlias den Alias der Tabelle an. Werden der Arbeitsbereich und der Alias ausgelassen, durchsucht KEYMATCH( ) die Indexdateien oder -namen, die für die Tabelle im aktuellen Arbeitsbereich geöffnet sind.

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

Hinweise

KEYMATCH( ) durchsucht einen Indexnamen oder eine -datei nach einem bestimmten Indexschlüssel und gibt Wahr (.T.) zurück, wenn der Schlüssel gefunden wird; andernfalls wird Falsch (.F.) zurückgegeben. Mit KEYMATCH( ) kann das Erzeugen doppelt vorhandener Indexschlüssel vermieden werden.

KEYMATCH( ) verschiebt den Datensatzzeiger wieder zu dem Datensatz, auf dem er sich vor Eingabe von KEYMATCH( ) befand.

Siehe auch

INDEX | INDEXSEEK( ) | KEY( ) | SET INDEX | SYS(14) | USE