Оператор WHILE вызывает исполнение команды на каждой записи, пока логическое выражение оценивается в true (.T.). После того, как выражение будет впервые оценено в false (.F.), исполнение команды прекращается, без попытки ее исполения на оставшихся записях. Это выражение обычно используется с таблицами, которые отсортированы или индексированы по полю (или полям), включенному в выражение WHILE. Например, в приведенном ниже примере производится перемещение по индексированной таблице для поиска первой записи, отвечающей условию, после чего исполняется команда REPLACE на тех записях, которые отвечают условию, определенному для WHILE.
![]() | |
---|---|
USE Mytable INDEX street LOCATE FOR UPPER(street) = "MAIN" REPLACE street WITH "Maine" WHILE UPPER(street) = "MAIN" |
Вы можете использовать выражения Scope, FOR и WHILE в одной и той же команде Visual FoxPro. Например, приведенный ниже пример сохраняет новое значение в поле status
нескольких записей.
![]() | |
---|---|
REPLACE ALL status WITH "Active" FOR total > 30 ; WHILE expd > {^1998/02/16} |
Когда вы указываете оба оператора - FOR и WHILE, выражение WHILE имеет преимущество и оператор FOR используется для фильтрации записей, выбранных с помощью WHILE.
В приведенной ниже таблице перечислены команды, в которых вы можете использовать оператор WHILE.
Смотрите также
Справочное руководство
Команда LOCATEКоманда REPLACE (Visual FoxPro)
Прочие ресурсы
Управление полями и записямиУправление данными