DBFILTER( )
Devuelve la expresión de filtro actual, como cadena de caracteres
Sintaxis
DBFILTER() –> cFiltro
Devuelve
DBFILTER() devuelve la condición de filtro definida en el área de trabajo actual, en forma de cadena de caracteres. Si no se ha establecido ningún filtro, DBFILTER() devuelve una cadena nula (“”).
Descripción
DBFILTER() es una función de base de datos que se utiliza para guardar y volver a ejecutar un filtro activo, devolviendo la expresión de filtro como una cadena de caracteres que puede recompilarse y ejecutarse más tarde con el operador de macro (&). Esta función actúa de forma similar a las funciones DBRELATION() y DBRSELECT(), que guardan y vuelven a ejecutar la expresión de enlace de una relación dentro de un área de trabajo.
Puesto que cada área de trabajo puede tener un filtro activo, DBFILTER() puede devolver la expresión de filtro de cualquier área de trabajo. Esto se realiza, haciendo referencia a DBFILTER() dentro de una expresión de alias, tal como se muestra a continuación.
Notas
¦ Variables declaradas: Una cadena de caracteres devuelta por DBFILTER() es posible que no funcione correctamente, cuando se recompila y ejecuta utilizando el operador de macro (&) si la expresión de filtro original contiene referencias a variables locales o estáticas o que dependan de declaraciones que se resuelven durante la compilación.
Ejemplos
¦ Este ejemplo abre dos ficheros de base de datos, crea dos filtros y muestra las expresiones de filtro para ambas áreas de trabajo:
USE Cliente INDEX Cliente NEW
SET FILTER TO Apellido = “López”
USE Facturas INDEX Facturas NEW
SET FILTER TO IdCliente = “Lóp001”
SELECT Cliente
//
? DBFILTER() // Resultado: Apellido = “López”
? Facturas->(DBFILTER()) // Resultado: IdCliente = “Lóp001”
¦ Esta función, CrearConsulta(), utiliza DBFILTER() para crear un fichero de memoria que contiene la expresión de filtro actual en la variable privada cFiltro:
FUNCTION CrearConsulta( cNombreCons )
PRIVATE cFiltro := DBFILTER()
SAVE ALL LIKE cFiltro TO (cNombreCons + “.con”)
RETURN NIL
¦ Posteriormente, puede restablecer el fichero de consulta con la función SelecFiltro():
FUNCTION SelecFiltro()
PARAMETER cNombreCons
RESTORE FROM &cNombreCons..con ADDITIVE
SET FILTER TO &cFiltro.
RETURN NIL
Ficheros: La biblioteca asociada es DPXBASE.CH.