RECNO( )-Funktion
Gibt die Nummer des aktuellen Datensatzes der aktuellen oder der angegebenen Tabelle zurück.
RECNO([nWorkArea | cTableAlias])
Rückgabewerte
Numerisch
Parameter
- nWorkArea
Gibt die Nummer des Arbeitsbereichs für eine in einem anderen Arbeitsbereich geöffnete Tabelle an. RECNO( ) gibt 0 zurück, wenn keine Tabelle in dem von Ihnen angegebenen Arbeitsbereich offen ist. - cTableAlias
Gibt den Alias einer Tabelle an, die in einem anderen Arbeitsbereich geöffnet ist.
Hinweise
Der aktuelle Datensatz ist derjenige Datensatz, auf den der Datensatzzeiger zeigt.
RECNO( ) gibt für Datensätze, die in einem Tabellenpuffer angefügt sind, negative Nummern zurück.
RECNO( ) gibt einen um eins höheren Wert als die Gesamtanzahl von Sätzen in der Tabelle zurück, wenn sich der Datensatzzeiger hinter dem letzten Datensatz der Tabelle befindet. RECNO( ) gibt 1 zurück, wenn sich der Datensatzzeiger vor dem ersten Datensatz der Tabelle befindet oder die Tabelle keine Datensätze enthält. Enthält eine Tabelle keine Datensätze, gibt EOF( ) stets Wahr (.T.) zurück.
RECNO( ) ohne die optionalen Argumente nWorkArea oder cTableAlias gibt die Nummer des aktuellen Datensatzes für die Tabelle im gewählten Arbeitsbereich zurück.
Nach erfolgloser Ausführung von SEEK in einer indizierten Tabelle können Sie 0 für nWorkArea eingeben, um die Soft Seek-Logik zu veranlassen, die Nummer des am ehesten passenden Datensatzes zurückzugeben. RECNO(0) gibt 0 zurück, wenn keine nahe Übereinstimmung gefunden wird. Visual FoxPro generiert eine Fehlermeldung, wenn Sie GO RECNO(0) eingeben und keine nahe Übereinstimmung gefunden wird.
Beispiel
In dem folgenden Beispiel wird die Tabelle customer
nach einem Firmennamen durchsucht; wird dieser Name nicht gefunden, gibt RECNO(0) den Firmennamen zurück, der ihm am ähnlichsten ist.
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer && Opens Customer table
SET ORDER TO company
SEEK 'Ernst'
IF FOUND( )
DISPLAY company, contact
ELSE
GOTO RECNO(0)
CLEAR
? 'Closest matching company is ' + company
? 'Record number: ' + ALLTRIM(STR(RECNO( )))
ENDIF
Siehe auch
GO | GOTO | RECCOUNT( ) | RECSIZE( ) | SEEK | SKIP