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