FOUND( )-Funktion
Gibt Wahr (.T.) zurück, wenn CONTINUE, FIND,INDEXSEEK( ), LOCATE oder SEEK erfolgreich ist.
FOUND([nWorkArea | cTableAlias])
Rückgabewerte
Logisch
Parameter
nWorkArea
Gibt den Arbeitsbereich der Tabelle an, für die FOUND( ) einen Wert zurückgibt, mit dem festgestellt werden kann, ob bei der letzten Ausführung von CONTINUE, FIND, LOCATE oder SEEK ein Fehler aufgetreten ist.FOUND( ) gibt den Wert Falsch (.F.) zurück, wenn im angegebenen Arbeitsbereich keine Tabelle geöffnet ist.
cTableAlias
Gibt den Arbeitsbereich der Tabelle an, für die FOUND( ) einen Wert zurückgibt, mit dem festgestellt werden kann, ob bei der letzten Ausführung von CONTINUE, FIND, LOCATE oder SEEK ein Fehler aufgetreten ist.Visual FoxPro generiert eine Fehlermeldung, wenn Sie einen nicht vorhandenen Tabellenalias angeben.
Hinweise
FOUND( ) gibt einen logischen Wert zurück, der anzeigt, ob die letzte Ausführung von CONTINUE, FIND, LOCATE oder SEEK erfolgreich war oder der Datensatzzeiger in einer verknüpften Tabelle bewegt wurde. FOUND( ) gibt den Wert Wahr (.T.) zurück, wenn die Suche erfolgreich war, andernfalls wird Falsch (.F.) zurückgegeben.
Wenn Sie die optionalen Argumente nicht angeben, gibt FOUND( ) einen Wert zurück, der anzeigt, ob die Ausführung von CONTINUE, FIND, LOCATE oder SEEK in der Tabelle erfolgreich war, die im aktuell gewählten Arbeitsbereich geöffnet wurde.
Tipp Sie können diese Funktion verwenden, um festzustellen, ob in einer Detailtabelle ein Datensatz vorhanden ist, der mit dem Master-Datensatz übereinstimmt.
Beispiele
Im folgenden Beispiel werden alle Kunden aus Deutschland gesucht.
SET TALK OFF
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer && Opens Customer table
STORE 0 TO gnCount
LOCATE FOR UPPER(country) = 'GERMANY'
DO WHILE FOUND( )
gnCount = gnCount + 1
CONTINUE
ENDDO
WAIT WINDOW 'Total customers from Germany: ' ;
+ LTRIM(STR(gnCount)) NOWAIT