FoxPro/Visual FoxPro - uso del comando scan

 
Vista:

uso del comando scan

Publicado por johel (26 intervenciones) el 06/09/2019 15:12:13
buenos dias

si alguien me pudiera explicar la sintaxis del comando scan... endscan
y el recoun()
o como lo uso

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

uso del comando scan

Publicado por Juan Perez (3 intervenciones) el 06/09/2019 22:28:59
Mueve el puntero de registro por la tabla seleccionada y ejecuta un bloque de comandos para cada uno de los registros que cumple las condiciones especificadas.
SCAN [NOOPTIMIZE] [Alcance] [FOR lExpresión1] [WHILE lExpresión2] [Comandos] [LOOP] [EXIT] ENDSCAN
Parámetros
NOOPTIMIZE
Impide la optimización de consultas Rushmore de SCAN.
Para más información, vea SET OPTIMIZE y Utilizar optimización de consultas Rushmore para acelerar el acceso de datos.
Alcance
Especifica el conjunto de registros que se va a explorar. Sólo se examinarán los registros que se encuentren dentro del rango. Las cláusulas de alcance son: ALL, NEXT nRecords, RECORD nRecordNumber y REST. Para obtener más información acerca de las cláusulas de alcance, vea el tema Cláusulas de alcance.
El alcance predeterminado para SCAN es todos los registros (ALL).
FOR lExpresión1
Ejecuta comandos solamente para los registros para los que lExpresión1 se evalúa como verdadero (.T.). La inclusión de la cláusula FOR le permite filtrar los registros que no desea explorar.
Si lExpresión1 es una expresión optimizable, Rushmore optimizará una consulta creada con SCAN ... FOR. Para obtener el máximo rendimiento, utilice una expresión optimizable en la cláusula FOR.
Para más información, vea SET OPTIMIZE y Utilizar optimización de consultas Rushmore para acelerar el acceso de datos.
WHILE lExpresión2
Especifica una condición por la cual los comandos se ejecutan siempre que lExpresión2 se evalúe como verdadero (.T.).
Comandos
Especifica los comandos de Visual FoxPro que se van a ejecutar.
LOOP
Devuelve el control directamente a SCAN. LOOP puede colocarse en cualquier lugar entre SCAN y ENDSCAN.
EXIT
Transfiere el control del bucle SCAN ... ENDSCAN al primer comando que sigue inmediatamente a ENDSCAN. EXIT puede colocarse en cualquier lugar entre SCAN y ENDSCAN.
ENDSCAN
Indica el final del procedimiento SCAN.
Observaciones
SCAN avanza automáticamente el puntero de registro al siguiente registro que cumple las condiciones especificadas y ejecuta el bloque de comandos.
Puede colocar observaciones después de ENDSCAN en la misma línea. Estos observaciones se pasan por alto durante la compilación y ejecución del programa.
SCAN ... ENDSCAN garantiza que cuando se alcance ENDSCAN, Visual FoxPro volverá a seleccionar la tabla que estaba activa cuando se inició el bucle SCAN ... ENDSCAN.

Ejemplo

El ejemplo siguiente usa un bucle SCAN ... ENDSCAN para mostrar todas las compañías de Suecia ("Sweden").

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer && Opens Customer table
CLEAR
SCAN FOR UPPER(country) = 'SWEDEN'
? contact, company, city
ENDSCAN
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar