FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour problema al realizar un filtro
Posts: 1303
Joined: Tue Jul 21, 2009 08:12 AM
problema al realizar un filtro
Posted: Wed Apr 25, 2012 10:23 AM
Hola compañeros:

Tengo una base de datos con dos campos, serie y número.

Tengo estas facturas:

A 2
A 6
B 1
B 2
B 3
D 1
D 2


Me gustaría filtrar desde la B 2 a la D 1 para tener:

B 2
B 3
D 1


Pero no me funciona:
Code (fw): Select all Collapse
Condicion := "FIELD->FSERIE >= " +CHR(34)+cFSERIE1+CHR(34)+ " .AND. FIELD->FNUMERO >= " + AllTrim( Str( nCodigo1 ) ) + " .AND. " + ;
                             "FIELD->FSERIE <= " +CHR(34)+cFSERIE2+CHR(34)+ " .AND. FIELD->FNUMERO <= " + AllTrim( Str( nCodigo2 ) )



Es decir, tendría que hacer dos límites. Por favor, ¿alguna idea?.


Mil 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: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: problema al realizar un filtro
Posted: Wed Apr 25, 2012 11:48 AM

Crea un indice por el que quieres e usa el comando ORDSCOPE().

Saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1303
Joined: Tue Jul 21, 2009 08:12 AM
Re: problema al realizar un filtro
Posted: Wed Apr 25, 2012 12:09 PM

También lo he probado y nada:

INDEX ON FIELD->FSERIE + StrZero (FIELD->FNUMERO,20 ) TAG INDICE1 FOR !Deleted()

No me funciona:

OrdScope(0, "B2")

OrdScope(1, "D1")

No muestra nada.

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: 244
Joined: Fri Oct 28, 2005 06:29 PM
Re: problema al realizar un filtro
Posted: Wed Apr 25, 2012 01:58 PM

Amigo, no debe andar por que lo que has puesto en ordscope no coincide con el índice.
El indice esta con StrZero (FIELD->FNUMERO,20 ) , deberias ponerle OrdScope(0, "B00000000000000000002")

Saludos

Alejandro Cebolido

Buenos Aires, Argentina
Posts: 1303
Joined: Tue Jul 21, 2009 08:12 AM
Re: problema al realizar un filtro
Posted: Wed Apr 25, 2012 02:13 PM

Hola,

Muchas gracias por responder.

También lo probé sin éxito:

OrdScope(0, "B00000000000000000001")

OrdScope(1, "B00000000000000000002")

Debería sacar B 1 y B2 pero nada, no aparece nada.

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: 244
Joined: Fri Oct 28, 2005 06:29 PM
Re: problema al realizar un filtro
Posted: Wed Apr 25, 2012 02:22 PM

Lucas, como tienes en la dbf el campo FIELD->FSERIE ? es caracter de 1 ? porque si no es asi, ahi tienes el error.

Saludos

Alejandro Cebolido

Buenos Aires, Argentina
Posts: 1303
Joined: Tue Jul 21, 2009 08:12 AM
Re: problema al realizar un filtro
Posted: Wed Apr 25, 2012 02:44 PM

Hola,

No tiene 3 caracteres.

¿Cómo debería ser entonces?:

¿B 00000000000000000004?

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: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: problema al realizar un filtro
Posted: Wed Apr 25, 2012 04:20 PM
Code (fw): Select all Collapse
   INDEX ON FIELD->FSERIE TAG WFSERIE FOR !Deleted()

   USE BANCOSERIE....

   SET ORDER...

   cIniSerie := "B2"
   cFinSerie := "D1"

   OrdScope(0, cIniSerie )
   OrdScope(1, cFinSerie )
   GO TOP

   BROWSE()
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1303
Joined: Tue Jul 21, 2009 08:12 AM
Re: problema al realizar un filtro
Posted: Wed Apr 25, 2012 05:41 PM

Solucionado.

Muchas gracias por la ayuda.

Como FSERIE tiene tres caracteres tengo que dejar dos espacios:

B 00000000000000000004

Me estaba volviendo loco!!.

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.

Continue the discussion