Compartir a través de


LOOKUP( ) (Función)

Busca en una tabla el primer registro que tiene un campo coincidente con la expresión especificada.

LOOKUP(ReturnField, eSearchExpression, SearchedField [, cTagName])

Valores devueltos

Character, Numeric, Currency, Float, Integer, Double, Date, DateTime o Logical

Parámetros

  • ReturnField
    Especifica el campo cuyo contenido devuelve LOOKUP( ) cuando la búsqueda finaliza con éxito. Si la búsqueda fracasa, LOOKUP( ) devolverá una cadena de caracteres vacía de la misma longitud y el mismo tipo que ReturnField.

  • eSearchExpression
    Especifica la expresión de búsqueda. La expresión de búsqueda suele ser el contenido de un campo de la tabla, o puede corresponder a la expresión de índice del índice o de la etiqueta de índice compuesto que esté activo.

  • SearchedField
    Especifica el campo que se va a buscar. Si la tabla no tiene un índice activo, LOOKUP( ) realizará una búsqueda secuencial en el campo especificado mediante SearchedField.

    Si hay abierto un archivo de índice o una etiqueta de índice cuya expresión de clave de índice es el campo de búsqueda especificado, LOOKUP( ) utilizará el archivo de índice o la etiqueta de índice para realizar una búsqueda más rápida.

  • cTagName
    Especifica el nombre de una etiqueta de índice compuesto para que LOOKUP( ) lo utilice en la búsqueda. Las búsquedas de índice compuesto son las que LOOKUP( ) realiza de forma más rápida.

Observaciones

Si la búsqueda tiene éxito, LOOKUP( ) moverá el puntero de registro al registro coincidente y devolverá el contenido de un campo especificado del registro.

Si no se encuentra la expresión de búsqueda, LOOKUP( ) devolverá una cadena de caracteres en blanco de la misma longitud y tipo de datos que ReturnField. El puntero de registro se sitúa al final del archivo.

Si se utiliza LOOKUP( ) para buscar en una tabla primaria, se moverán los punteros de registro de todas las tablas a los registros relacionados.

Esta función no puede optimizarse con Rushmore.

Ejemplo

En el ejemplo siguiente, LOOKUP( ) utiliza la etiqueta de índice company para buscar la primera vez que aparezca la cadena "Ernst Handel". Si la búsqueda acaba con éxito, LOOKUP( ) devolverá el contenido del campo contact y @ ... SAY mostrará el valor de retorno.

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer ORDER company  && Open Customer table
CLEAR
@ 2,2 SAY LOOKUP(contact, 'Ernst Handel', company, 'company')

Vea también

FIND | INDEX | LOCATE | SEEK | SEEK( )