FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour funci贸n para hacer filtros en una DBF
Posts: 1303
Joined: Tue Jul 21, 2009 08:12 AM
funci贸n para hacer filtros en una DBF
Posted: Sun Jan 04, 2015 11:45 AM

Hola amigos,

Estoy buscando una funci贸n para hacer filtros en una dbf, que permita hacer varias condiciones and or, diversos operadores, etc, para que el usuario pueda ir din谩micamente construyendo el filtro.

驴Existe algo?. Muchas gracias y feliz 2015.

Muchas gracias. Many thanks.



Un saludo, Best regards,



Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producci贸n]



Implementando MSVC 2010, FWH64 y ADO.



Abandonando uso xHarbour y SQLRDD.
Posts: 282
Joined: Mon Oct 10, 2005 08:55 AM
Re: funci贸n para hacer filtros en una DBF
Posted: Sun Jan 04, 2015 02:16 PM

Lucas,

Yo lo hago (con muy buenos resultados) utilizando indices temporales del tipo

INDEX ON (campo/campos) TO iTemp FOR (aqui_la_cadena_de_condicion) TEMPORARY ADDITIVE

es un proceso casi instantaneo, probado con condiciones de filtro complejas, con DBF,s de mas de 200 MB
Saludos :shock:

Posts: 1303
Joined: Tue Jul 21, 2009 08:12 AM
Re: funci贸n para hacer filtros en una DBF
Posted: Sun Jan 04, 2015 02:33 PM

Hola,

Lo que busco es el dialogo para a帽adir el primer campo, el operador, el valor, el and u or para la siguiente condici贸n, la funci贸n que hace el filtro, v verifica operador con tipo de campo..., incluso si es de pago.

Muchas gracias.

Muchas gracias. Many thanks.



Un saludo, Best regards,



Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producci贸n]



Implementando MSVC 2010, FWH64 y ADO.



Abandonando uso xHarbour y SQLRDD.
Posts: 555
Joined: Wed Jul 31, 2013 01:14 PM
Re: funci贸n para hacer filtros en una DBF
Posted: Sun Jan 04, 2015 05:13 PM

Hola Lucas, podrias verificar fivedbu.prg tiene algo parecido.

Saludos.

Dario Fernandez

FWH 2501, Harbour, MVS2022 Community, MySql & MariaDB, Dbf/Cdx VSCode.

Maldonado - Uruguay
Posts: 1303
Joined: Tue Jul 21, 2009 08:12 AM
Re: funci贸n para hacer filtros en una DBF
Posted: Sun Jan 04, 2015 05:24 PM

Hola

El problema es que no esta acabada, no hace comprobaciones, 茅tc.

Gracias

Muchas gracias. Many thanks.



Un saludo, Best regards,



Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producci贸n]



Implementando MSVC 2010, FWH64 y ADO.



Abandonando uso xHarbour y SQLRDD.
Posts: 518
Joined: Fri Jun 29, 2012 12:49 PM
Re: funci贸n para hacer filtros en una DBF
Posted: Mon Jan 05, 2015 11:26 AM

Yo tambi茅n estoy interesada :D

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: funci贸n para hacer filtros en una DBF
Posted: Wed Jan 07, 2015 05:03 PM
Code (fw): Select all Collapse
FUNCTION RELATORIO_STATUS_NFE( cTipoImpr ) 

   LOCAL oPen1, oPen2, oFont1, oFont2, oFont3, oReport, cAlias, cTitleImp

   PUBLIC wNomeEmpresa

   SELECT CADNFE

   // CRIACAO DOS FITROS/INDICES
   DO CASE
   CASE cTipoImpr = "APROVADAS"  // "APR"

      cTitleImp := OemToAnsi( "APROVADA(s) E N脟O IMPRESSA(s)." )

      INDEX ON FATURCOD                   TAG 05 TO INFETEMP   ;
            FOR ( .NOT. EOF() ) .AND. CADNFE->STATUS = "APR" MEMORY //TEMPORARY

   CASE cTipoImpr = "CANCELADAS"  // "CAN"

      cTitleImp := OemToAnsi( "CANCELADA(s) NA SEFAZ." )

      INDEX ON FATURCOD                   TAG 05 TO INFETEMP   ;
            FOR ( .NOT. EOF() ) .AND. CADNFE->STATUS = "CAN" MEMORY //TEMPORARY

   CASE cTipoImpr = "DENEGADAS"  // "DEN"

      cTitleImp := OemToAnsi( "NFE COM USO DENEGADO NA SEFAZ." )

      INDEX ON FATURCOD                   TAG 05 TO INFETEMP   ;
            FOR ( .NOT. EOF() ) .AND. CADNFE->STATUS = "DEN" MEMORY //TEMPORARY

   CASE cTipoImpr = "ENVIADAS"   // "ENV"

      cTitleImp := OemToAnsi( "TRANSMITIDA(s) E N脟O CONSULTADA(s)." )

      INDEX ON FATURCOD                   TAG 05 TO INFETEMP   ;
            FOR ( .NOT. EOF() ) .AND. CADNFE->STATUS = "ENV" MEMORY //TEMPORARY

   CASE cTipoImpr = "GERADAS"   // "GER"

      cTitleImp := OemToAnsi( "GERADA(s) E N脟O TRANSMITIDA(s)." )

      INDEX ON FATURCOD                   TAG 05 TO INFETEMP   ;
            FOR ( .NOT. EOF() ) .AND. CADNFE->STATUS = "GER" MEMORY //TEMPORARY

   CASE cTipoImpr = "IMPRESSAS" // "IMP"

      cTitleImp := OemToAnsi( "IMPRESSA(s) - FINALIZADA(s)-OK." )

      INDEX ON FATURCOD                   TAG 05 TO INFETEMP   ;
            FOR ( .NOT. EOF() ) .AND. CADNFE->STATUS = "IMP" MEMORY //TEMPORARY

   CASE cTipoImpr = "INUTILIZADAS"  // "INU"

      cTitleImp := OemToAnsi( "INUTILIZADA(s) NA SEFAZ." )

      INDEX ON FATURCOD                   TAG 05 TO INFETEMP   ;
            FOR ( .NOT. EOF() ) .AND. CADNFE->STATUS = "INU" MEMORY //TEMPORARY

   CASE cTipoImpr = "PENDENTES" // "   "

      cTitleImp := OemToAnsi( "PENDENTE(s) DE GERA鈧嘜." )

      INDEX ON FATURCOD                   TAG 05 TO INFETEMP   ;
            FOR ( .NOT. EOF() ) .AND. CADNFE->STATUS = "   " MEMORY //TEMPORARY

   CASE cTipoImpr = "GERAL"

      cTitleImp := OemToAnsi( "GERAL - TODAS AS NOTAS EXISTENTES." )

      INDEX ON FATURCOD                   TAG 05 TO INFETEMP   ;
            FOR ( .NOT. EOF() ) MEMORY //TEMPORARY

   ENDCASE

   cAlias := ALIAS()

   GO TOP

   ...

RETURN NIL


Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341

Continue the discussion