FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Duda Básica sobre filtros
Posts: 428
Joined: Thu Oct 19, 2006 12:28 PM
Duda Básica sobre filtros
Posted: Mon Nov 03, 2008 10:08 AM
Hola amigos

Tengo una duda

No sé si tengo activo un filtro en un alias, y me gustaría asignar una variable a éste, hacer el filtro que necesito, y al salir dejar el filtro como estaba.

Esto lo hago yo con los índices así

Al entrar, asigno una variable al índice activo:

  local cindi:=(aAlias[30])->(Ordsetfocus())


Cambio de índice:
(aAlias[30])->(Ordsetfocus("Nombre"))


Y al salir, finalmente restauro el índice que tuviera:
(aAlias[30])->(Ordsetfocus(cindi))


Esto mismo , como lo puedo hacer con los filtros?

Saludos

Jose Luis
--------------------------

Saludos



Jose Luis
Posts: 1283
Joined: Fri Feb 10, 2006 02:34 PM
Duda Básica sobre filtros
Posted: Mon Nov 03, 2008 10:39 AM
JoseLuis,

Mirate
ORDKEY(<cNomOrden> | <nOrden>
   [, <cNomContOrdenes>]) --> cExpClave
Salutacions, saludos, regards

"...programar es fácil, hacer programas es difícil..."

UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
HIX -> https://github.com/carles9000/hix
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Duda Básica sobre filtros
Posted: Mon Nov 03, 2008 10:46 AM
Quizás esto es lo que buscás

    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

    C 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

    C 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"

    C 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

    C 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

    [/list:u]
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 1283
Joined: Fri Feb 10, 2006 02:34 PM
Duda Básica sobre filtros
Posted: Mon Nov 03, 2008 10:50 AM

Upps, si es cierto. Mario Tiene razon... :lol:

Salutacions, saludos, regards

"...programar es fácil, hacer programas es difícil..."

UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
HIX -> https://github.com/carles9000/hix
Posts: 428
Joined: Thu Oct 19, 2006 12:28 PM
Duda Básica sobre filtros
Posted: Mon Nov 03, 2008 11:09 AM

Muchas Gracias

Saludos

Jose Luis

--------------------------

Saludos



Jose Luis

Continue the discussion