FOUND()
 Determina si la operación de búsqueda anterior ha sido satisfactoria
------------------------------------------------------------------------------
 Sintaxis

     FOUND() --> lExito

 Devuelve

     FOUND() devuelve verdadero (.T.) si el último mandato de búsqueda ha
     sido satisfactorio; de lo contrario, devuelve falso (.F.).

 Descripción

     FOUND() es una función de base de datos que determina si una operación
     de búsqueda (es decir, FIND, LOCATE, CONTINUE, SEEK o SET RELATION) ha
     sido satisfactoria. Cuando se ejecuta uno de estos mandatos, FOUND()
     devuelve verdadero (.T.) si encuentra una coincidencia; de lo
     contrario, devuelve falso (.F.).

     Si el mandato de búsqueda es LOCATE o CONTINUE, una coincidencia es el
     siguiente registro que cumpla con el ámbito y la condición. Si el
     mandato de búsqueda es FIND, SEEK o SET RELATION, una coincidencia es
     la primera clave del índice de control que es igual al argumento de
     búsqueda. Si el valor clave es igual al argumento de búsqueda, FOUND()
     devuelve verdadero (.T.); de lo contrario, es falso (.F.).

     El valor de FOUND() se retiene hasta que se ejecuta otro mandato de
     movimiento de registro. A menos que sea otro mandato de búsqueda,
     FOUND() se establece automáticamente en falso (.F.).

     Cada área de trabajo tiene un valor FOUND(). Esto significa que si un
     área de trabajo tiene una relación establecida con un área de trabajo
     secundaria, la consulta de FOUND() en el área secundaria devuelve
     verdadero (.T.) si encuentra una coincidencia.

     Por defecto, FOUND() actúa en el área de trabajo seleccionada
     actualmente. Puede hacer que funcione en un área de trabajo no
     seleccionada especificándola dentro de una expresión de alias (consulte
     el ejemplo siguiente).

     FOUND() devuelve falso (.F.) si no hay ninguna base de datos abierta en
     el área de trabajo actual.

 Ejemplos

      En este ejemplo se ilustra el comportamiento de FOUND()
        después de un mandato de movimiento de registro:

        USE Ventas INDEX Ventas
        ? INDEXKEY(0)                // Resultado: VENDEDOR
        SEEK "1000"
        ? FOUND()                    // Resultado: .F.
        SEEK "100"
        ? FOUND()                    // Resultado: .T.
        SKIP
        ? FOUND()                    // Resultado: .F.

      En este ejemplo se comprueba un valor FOUND() en un área de
        trabajo no seleccionada utilizando una expresión de alias:

        USE Ventas INDEX Ventas NEW
        USE Cliente INDEX Cliente NEW
        SET RELATION TO Numclien INTO Ventas
        //
        SEEK "Casanova"
        ? FOUND(), Ventas->(FOUND())

      Este fragmento de código procesa todos los registros de
        Cliente con el valor clave "Casanova" utilizando FOUND() para
        determinar cuándo cambia el valor clave:

        USE Cliente INDEX Cliente NEW
        SEEK "Casanova"
        DO WHILE FOUND()
           .

           . <sentencias>
           .
           SKIP
           LOCATE REST WHILE Nombre == "Casanova"
        ENDDO

 Ficheros   La biblioteca asociada es CLIPPER.LIB.

 To download this example - click here.

See Also: CONTINUE EOF() LOCATE SEEK SET RELATION