WHILE-Klauseln

Durch Angabe einer WHILE-Klausel wird ein Befehl solange für jeden Datensatz ausgeführt, wie die logische Bedingung den Wert Wahr (.T.) ergibt. Wenn die Auswertung des Ausdrucks zum ersten Mal Falsch (.F.) ergibt, wird die Ausführung des Befehls beendet. Verbleibende Datensätze werden ignoriert. Dieser Ausdruck wird normalerweise in einer Tabelle verwendet, die nach dem(n) Feld(ern) sortiert oder indiziert ist, die im WHILE-Ausdruck enthalten sind. Im folgenden Beispiel sucht eine indizierte Tabelle nach dem ersten Datensatz, der die Bedingung erfüllt. Anschließend wird der REPLACE-Befehl für die Datensätze ausgeführt, die die WHILE-Bedingung erfüllen.

USE Mytable INDEX street
LOCATE FOR UPPER(street) = "MAIN"
REPLACE street WITH "Maine" WHILE UPPER(street) = "MAIN"

Sie können Geltungsbereich-, FOR- und WHILE-Ausdrücke in einem einzigen Visual FoxPro-Befehl verwenden. Im folgenden Beispiel wird ein neuer Wert in das Feld status verschiedener Datensätze gespeichert.

REPLACE ALL status WITH "Active" FOR total > 30 ;
   WHILE expd > {^1998/02/16}

Wenn Sie FOR und WHILE zusammen angeben, hat der WHILE-Ausdruck Vorrang. Die FOR-Klausel wird zum Filtern der mit WHILE ausgewählten Datensätze verwendet.

In der folgenden Tabelle sind Befehle aufgeführt, in denen Sie eine WHILE-Klausel verwenden können.

Befehle, die WHILE-Klauseln verwenden

AVERAGE-Befehl COUNT-Befehl RECALL
BLANK DELETE REPLACE
BROWSE-Befehl DISPLAY-Befehl REPLACE FROM ARRAY-Befehl
CALCULATE-Befehl EXPORT REPORT-Befehl
CHANGE-Befehl LABEL-Befehl SCAN ... ENDSCAN
COPY TO ARRAY-Befehl LIST-Befehl SORT
COPY TO-Befehl LOCATE-Befehl SUM

Siehe auch

LOCATE-Befehl | REPLACE-Befehl | Bearbeitung von Feldern und Datensätzen | Datenbearbeitung