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 |