Árvore de páginas

Sintaxis

 

DbSeek(<expresión carácter>, <expresión lógica 1>,  [ <expresión lógica 2> ] )

 

 

Propósito

 

Busca el área de trabajo activa para encontrar un determinado registro, de acuerdo con la clave de búsqueda utilizada.

 

 

Argumentos

 

<expresión carácter>

 

Son los datos del registro que se desea ubicar, de acuerdo con el orden de búsqueda previamente especificada por la función dbSetOrder(). Es decir, de acuerdo con el índice activo en el momento, en el área de trabajo.

 

<expresión lógica 1>

 

Define si el cursor se quedará ubicado en el próximo registro válido, con relación a la clave de búsqueda especificada, o al final del archivo, si no se encuentra la información exacta de la clave de búsqueda. El estándar utilizado es falso (.F.), indicando que la búsqueda será aproximada.

 

En este caso, la búsqueda se considerará un éxito cuando encuentre una  parte de la información.

 

<expresión lógica 2>

 

Define si el cursor se ubicará en el primero o en el último registro de un intervalo con la misma información especificada en la clave de búsqueda. El estándar utilizado es falso (.F.), indicando que el cursor se ubicará en el primer registro encontrado.

 

 

Utilización

 

La función permite ubicar el cursor del área de trabajo activa en el registro que corresponda a la información especificada en la clave de búsqueda. La función devuelve un valor lógico indicando si se encontró la clave de búsqueda. Si devuelve verdadero (.T.), la búsqueda tuvo éxito. En caso contrario, devuelve falso (.F.).

 

 

Sugerencias

 

La función MsSeek() tiene el mismo objetivo de la función dbSeek(). La ventaja de la función MsSeek() es que no necesita acceder nuevamente a la base de datos para ubicar una información utilizada por la conexión (thread) activa.

 

 

Ejemplos

 

A continuación, el ejemplo de una búsqueda exacta. Es decir, la búsqueda se considerará un éxito solamente si se encuentra toda la clave de búsqueda.

 

dbSelectArea(“SA1”)

 

// De acuerdo con el archivo SIX, la clave de búsqueda es A1_FILIAL + A1_COD + A1_LOJA

dbSetOrder(1)

 

IF dbSeek(“01” + “000001” + “02”)     // Sucursal: 01 / Código: 000001 / Tienda: 02

          MsgInfo(“Cliente ubicado”, “Consulta por cliente”)

ELSE

          MsgInfo(“Cliente no encontrado”, “Consulta por cliente”)

ENDIF

 

En el siguiente ejemplo, verificaremos una búsqueda aproximada. Es decir, la búsqueda se considerará un éxito si se encuentra una parte de la clave de búsqueda.

 

dbSelectArea(“SA1”)

 

// De acuerdo con el archivo SIX, la clave de búsqueda es A1_FILIAL + A1_COD + A1_LOJA

dbSetOrder(1)

 

IF dbSeek(“01” + “000001” + “02”, .T.)     // Sucursal: 01 / Código: 000001 / Tienda: 02

          MsgInfo(“Cliente ubicado”, “Consulta por cliente”)

ELSE

          MsgInfo(“Cliente no encontrado”, “Consulta por cliente”)

ENDIF

 

  • Sem rótulos