DBFILTER() Devuelve la expresión de filtro actual como una 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: Es posible que una cadena de caracteres devuelta por DBFILTER() 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 = "González" USE Facturas INDEX Facturas NEW SET FILTER TO IdCliente = "Gon001" SELECT Cliente // ? DBFILTER() // Resultado: Apellido = "González" ? Facturas->(DBFILTER()) // Resultado: IdCliente = "Gon001" ■ Esta función definida por el usuario, 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 restablecerse 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 CLIPPER.LIB. To download this example - click here.
See Also: DBRELATION() DBRSELECT() SET FILTER