SEEK( ) (Función)

Busca en una tabla indizada la primera aparición de un registro cuya clave de índice coincida con una expresión especificada. SEEK( ) devuelve un valor lógico que indica si la búsqueda ha tenido éxito.

SEEK(eExpression [, nWorkArea | cTableAlias
   [, nIndexNumber | cIDXIndexFileName | cTagName]])

Valores devueltos

Logical

Parámetros

  • eExpression
    Especifica la expresión clave de índice que desea que busque SEEK( ).

  • nWorkArea
    Especifica el número de área de trabajo de la tabla en la que se buscará la clave de índice.

  • cTableAlias
    Especifica el alias de la tabla en la que se realizará la búsqueda.

    Si omite nWorkArea y cTableAlias, se realizará una búsqueda en la tabla del área de trabajo actualmente seleccionada.

  • nIndexNumber
    Especifica el número del archivo de índice o la etiqueta utilizada para buscar la clave de índice. nIndexNumber se refiere a los archivos de índice tal y como aparecen en USE o SET INDEX. Los archivos .idx abiertos se numeran primero en el orden en que aparecen en USE o SET INDEX. Las etiquetas en el archivo estructural .cdx (si existe) son entonces numeradas en el orden en el que han sido creadas. Finalmente, las etiquetas de cualquier archivo independiente .cdx abierto se numeran en el orden en el que han sido creadas. Para más información sobre la numeración indizada, consulte SET ORDER.

  • cIDXIndexFileName
    Especifica un archivo .idx que se utiliza para buscar la clave de índice.

  • cTagName
    Especifica la etiqueta de un archivo .CDX que se utiliza para buscar la clave de índice. El nombre de etiqueta puede pertenecer a un archivo .cdx estructural o a cualquier archivo .cdx independiente abierto.

    Nota   El archivo .idx tiene prioridad si existen nombres de etiqueta y un archivo .idx duplicado.

Observaciones

Puede utilizar SEEK( ) en una tabla que tenga un orden de índice establecido; si no hay un orden de índice establecido, establezca el índice controlador con el tercer parámetro, nIndexNumber, cIDXIndexFileName o cTagName. La coincidencia debe ser exacta a menos que SET EXACT esté en OFF (desactivado).

Si se encuentra una coincidencia, SEEK( ) devolverá verdadero (.T.) y el puntero de registro se moverá al registro coincidente. Si no se encuentra ninguna coincidencia, SEEK( ) devolverá falso (.F.) y el puntero de registro se desplazará hasta el final del archivo. Ejecutar SEEK( ) equivale a ejecutar SEEK y FOUND( ) sucesivamente.

Si omite los argumentos nIndexNumber, IDXIndexFileName y cTagName, SEEK( ) utiliza el índice o la etiqueta de índice de control principal para buscar la clave de índice.

Ejemplo

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer ORDER cust_id  && Opens Customer table
? SEEK('CHOPS')  && Returns .T., record found

Vea también

EOF( ) | FOUND( ) | INDEXSEEK( ) | LOCATE | SEEK | SET ORDER