LOCATE
 Busca secuencialmente un registro que cumpla una condición
------------------------------------------------------------------------------
 Sintaxis

     LOCATE [<ámbito>] FOR <lCondición>
        [WHILE <lCondición>]

 Argumentos

     <ámbito> es la parte del fichero de base de datos actual en la que
     desea realizar la operación LOCATE. El ámbito por defecto es todos los
     registros (ALL).

     FOR <lCondición> especifica el siguiente registro que desea buscar
     en el ámbito dado.

     WHILE <lCondición> especifica el conjunto de registros que cumplen
     la condición desde el registro actual hasta que la condición deje de
     cumplirse.

 Descripción

     LOCATE es un mandato de base de datos que busca el primer registro en
     el área de trabajo actual que cumple un ámbito y condición
     determinados. La primera vez que se ejecuta, LOCATE busca desde el
     registro inicial del ámbito los registros que cumplen la condición. La
     búsqueda termina cuando se encuentra alguna correspondencia o cuando
     finaliza el ámbito de LOCATE. Si tiene éxito, el registro encontrado
     pasa a ser el registro actual y FOUND() devuelve el valor verdadero
     (.T.). Si no tiene éxito, FOUND() devuelve el valor falso (.F.) y la
     posición del puntero del registro depende del ámbito activo de LOCATE.

     Cada área de trabajo puede tener su propia condición LOCATE. La
     condición permanece activa hasta que se ejecute otro mandato LOCATE en
     ese área de trabajo o termine la aplicación.

     LOCATE actúa conjuntamente con CONTINUE. Una vez ejecutado LOCATE,
     puede reanudar la búsqueda desde la posición actual mediante CONTINUE.
     Existen, no obstante, algunas excepciones. Consulte la nota
     siguiente.

 Notas

     ■ CONTINUE: Tanto <ámbito> como la condición WHILE se aplican sólo
        al mandato LOCATE inicial y no son operativos para ningún mandato
        CONTINUE posterior. Para continuar un mandato LOCATE pendiente con
        un ámbito o condición WHILE, utilice SKIP y a continuación LOCATE
        REST WHILE <lCondición> en vez de CONTINUE.

 Ejemplos

      Estos ejemplos muestran mandatos LOCATE típicos:

        USE Ventas INDEX Vendedor
        LOCATE FOR Sucursal = "200"
        ? FOUND(), EOF(), RECNO()        // Resultado:.T. .F. 5
        LOCATE FOR Sucursal = "5000"
        ? FOUND(), EOF(), RECNO()        // Resultado:.F. .T. 85

      Este ejemplo muestra un mandato LOCATE con una condición WHILE
        que se continúa mediante LOCATE REST:

        SEEK "Jaime"
        LOCATE FOR Sucursal = "200" WHILE Vendedor = "Jaime"
        DO WHILE FOUND()
           ? Sucursal, Vendedor
           SKIP
           LOCATE REST FOR Sucursal = "200" WHILE ;
                   Vendedor = "Jaime"
        ENDDO

 Ficheros   La biblioteca asociada es CLIPPER.LIB.

 To download this example - click here.

See Also: CONTINUE EOF() FOUND() SEEK SET FILTER