DBSETFILTER( )

Establece una condición de filtro

Sintaxis

     DBSETFILTER(<bCondición>, [<cCondición>]) –> NIL

Argumentos

<bCondición> es un bloque de código que expresa la condición de filtro, en forma ejecutable.

<cCondición> es un valor opcional de caracteres que expresa la condición de filtro en forma de texto. Si se omite <cCondición>, la función DBFILTER() devuelve una cadena vacía para el área de trabajo.

Devuelve

DBSETFILTER() devuelve siempre NIL.

Descripción

DBSETFILTER() establece una condición de filtro lógico en el área de trabajo actual. Cuando se establece un filtro, los registros que no cumplen con la condición del mismo no son lógicamente visibles. Es decir, las operaciones de base de datos que actúan sobre registros lógicos no procesan esos registros.

La expresión de filtro suministrada para DBSETFILTER() resulta verdadera (.T.) si el registro actual cumple con la condición del filtro; y de lo contrario resulta falsa (.F.).

La expresión de filtro debe ser un bloque de código (<bCondición>) o un bloque de código y texto equivalente (<cCondición>). Si se utilizan ambas versiones, deben expresar la misma condición. Si se omite la versión de texto, DBFILTER() devuelve una cadena vacía para el área de trabajo.

DBSETFILTER() realiza la misma función que un mandato SET FILTER estándar. Si desea más información, consulte el mandato SET FILTER.

 Notas

     ¦  Registros lógicos: DBSETFILTER() afecta a la visibilidad lógica de los registros (consulte las notas anteriores).

     ¦  Efectos laterales: La condición de filtro sólo garantiza la limitación de visibilidad en ciertos registros, como se ha descrito anteriormente. Si la expresión de filtro se basa en la información externa al fichero de base de datos o área de trabajo, el efecto es impredecible. Si la expresión de filtro cambia el estado del área de trabajo (por ejemplo, desplazándose a un registro diferente o cambiando el contenido de un registro), el efecto es impredecible.

     ¦  Contexto de evaluación: Cuando se evalúa la expresión de filtro, el área de trabajo asociada se selecciona automáticamente como área de trabajo actual antes proceder a la evaluación. El área de trabajo previamente seleccionada se restablece posteriormente.

 Ejemplos

     ¦  Este ejemplo limita el acceso de datos, a los registros en los que el valor del campo Edad es inferior a 40:

        USE Empleado NEW

        DBSETFILTER( { Edad < 40}, “Edad < 40” )

        DBGOTOP()

 Ficheros:  La biblioteca asociada es DPXBASE.CH.