Freigeben über


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