WHILE 子句

请参阅

WHILE 子句使命令作用于逻辑条件为“真”(.T.)的所有记录。一旦逻辑表达式为“假”(.F.),命令将立即停止运行而不考虑剩下的记录。它通常用在已对 WHILE 表达式中所包含的字段进行过排序或索引的表中。例如,在下面的示例中,对于一个已索引的表,先定位于第一个符合条件的记录,然后,REPLACE 命令作用在符合 WHILE 条件的那些记录上:

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


在相同的 Visual FoxPro 命令中,可以使用范围, FOR 和 WHILE 表达式。例如, 以下示例保存一个新值到一些记录的 status 字段中。

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

当你同时指定了 FOR 和 WHILE 时, WHILE 表达式优先且 FOR 子句用于筛选 WHILE 选定的记录。

下表列出了可以使用 WHILE 子句的命令。

可使用 WHILE 子句的命令
AVERAGE COUNT RECALL
BLANK DELETE REPLACE
BROWSE DISPLAY REPLACE FROM ARRAY
CALCULATE EXPORT REPORT
CHANGE LABEL SCAN ... ENDSCAN
COPY TO ARRAY LIST SORT
COPY TO LOCATE SUM