Búsqueda segura con DbSeek, Found y SoftSeek
Distingue registro encontrado de posicionamiento aproximado.
Descripción general
DbSeek requiere índice activo compatible. Índice de un campo numérico usa clave numérica; otros casos siguen expresión y tamaños. SoftSeek verdadero puede posicionar en clave mayor sin encontrar valor: falso no autoriza tratar registro como coincidencia. Found recupera resultado de búsqueda; consultarlo inmediatamente en mismo contexto. Ficha DBSeek contradice orientación lLast; ejemplo lo omite y desactiva SoftSeek. Fragmento no elige índice ni forma clave: ambas son precondiciones del llamador. (TOTVS, s.f., refs. 1–2)
Retorno
No hay retorno único: se trata de un flujo compuesto.
Ejemplo comentado
// Fragmento: alias actual abierto, indice activo y cClave compatible.
lEncontrado := DbSeek(cClave, .F.)
If lEncontrado .And. Found()
// Leer campos de coincidencia solo aqui.
ConOut("Clave encontrada")
Else
ConOut("Clave no encontrada")
EndIfResultado depende de clave y datos. Reposiciona alias sin grabar ni restaurar posición previa. Declarar clave y lógico en llamador. En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.
- Validar alias, índice, filtro y filial. Preservar/restaurar contexto cuando corresponda y no intercalar búsqueda antes de Found.
- En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

Comentarios
Todavía no hay comentarios aprobados.
Inicia sesión con Google o Microsoft para comentar.