Compartir a través de


WHILE (Cláusulas)

Una cláusula WHILE hace que un comando actúe en cada registro mientras la expresión lógica dé como resultado verdadero (.T.). La primera vez que la expresión dé como resultado falso (.F.), se detendrá el comando sin afectar a ninguno de los registros restantes. Esta expresión se suele usar con una tabla ordenada o indizada en el campo o campos incluidos en la expresión WHILE. Como se muestra en el siguiente ejemplo, se explora una tabla indizada en busca del primer registro que cumple la condición; a continuación, el comando REPLACE actúa en aquellos registros que cumplen la condición WHILE.

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

Puede utilizar expresiones de alcance, FOR, y WHILE en el mismo comando de Visual FoxPro. Como se muestra en el siguiente ejemplo, se almacena un nuevo valor en el campo status de varios registros.

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

Cuando especifica tanto FOR como WHILE, la expresión WHILE tendrá preferencia y se utilizará la cláusula FOR para filtrar los registros seleccionados por WHILE.

En la siguiente tabla se muestran los comandos en los que puede utilizar una cláusula WHILE.

Comandos que utilizan cláusulas 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

Vea también

LOCATE (Comando) | REPLACE (Comando) | Manipulación de campos y registros | Manipulación de datos