DBSEEK()
 Desplaza el cursor al registro con el valor clave especificado

 Sintaxis

     DBSEEK(<expClave>, [<lBúsquedaAprox>], [<lUltimo>])
        --> lEncontrado

 Argumentos

     <expClave> es un valor de cualquier tipo que especifica el valor
     clave asociado con el registro deseado.

     <lBúsquedaAprox> es un valor lógico opcional que especifica si debe
     realizarse una búsqueda aproximada. Esto determina cómo se sitúa el
     área de trabajo si no se localiza el valor clave especificado (consulte
     más adelante). Si se omite <lBúsquedaAprox>, se utiliza el valor global
     de _SET_SOFTSEEK.

     <lUltimo> si toma el valor verdadero (.T.) se busca la última
     aparición del valor clave especificado. Si toma el valor falso (.F.),
     se busca la primera aparición (.F.). Este es el valor por defecto.

     Nota: Este argumento sólo se admite en determinados RDD. DBFNTX no
     admite este argumento.

 Devuelve

     DBSEEK() devuelve verdadero (.T.) si se ha localizado el valor clave
     especificado; de lo contrario, devuelve falso (.F.).

 Descripción

     DBSEEK() desplaza el cursor al primer registro lógico cuyo valor clave
     sea igual a <expClave>. Si se localiza un registro de este tipo, se
     convierte en el registro actual y DBSEEK() devuelve verdadero (.T.); de
     lo contrario, DBSEEK() devuelve falso (.F.). La situación del área de
     trabajo es la siguiente: para una búsqueda normal (no aproximada), el
     área de trabajo se sitúa en LASTREC() + 1 y EOF() devuelve verdadero
     (.T.). En una búsqueda aproximada, el área de trabajo se sitúa en el
     primer registro cuyo valor clave sea mayor que el valor clave
     especificado. Si no existe un registro de este tipo, el área de trabajo
     se sitúa en LASTREC() + 1 y EOF() devuelve verdadero (.T.).

     En un área de trabajo sin índices activos, DBSEEK() no tiene efecto.

     DBSEEK() realiza la misma función que un mandato SEEK estándar. Si
     desea más información, consulte el mandato SEEK.

 Notas

     ■ Registros lógicos: DBSEEK() actúa sobre registros lógicos que
        se examinan en el orden del índice. Si se establece un filtro, sólo
        se examinan los registros que cumplan la condición del filtro.

     ■ Orden de control: Si el área de trabajo tiene más de un índice
        activo, la operación se realiza utilizando el orden de control
        establecido con la función DBSETORDER() o con el mandato SET ORDER.
         Si desea más información, consulte el mandato SET ORDER.

     ■ Entorno de red: Al desplazarse a otro registro en un entorno
        de red, las modificaciones efectuadas en el registro actual se hacen
        visibles a los otros procesos. Si desea más información, consulte el
        capítulo "Programación en Red" en la Guía de Programación y
        Utilidades. Esta función no modifica el estado de bloqueo de los
        registros.

 Ejemplos

      En este ejemplo, DBSEEK() desplaza el puntero al registro en
        la base de datos Empleado, en la que el valor del campo "cNombre"
        coincide con el valor introducido de cNombre:

        ACCEPT "Nombre del Empleado: " TO cNombre
        IF ( Empleado->(DBSEEK(cNombre)) )
           Empleado->(VERREGISTRO())
        ELSE
           ? "No encontrado"
        END

 Ficheros   La biblioteca asociada es CLIPPER.LIB.
 To download this example - click here.

See Also: DBGOBOTTOM() DBGOTOP() DBSKIP() EOF() FOUND()