problema al realizar un filtro

Post Reply
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

problema al realizar un filtro

Post by lucasdebeltran »

Hola compañeros:

Tengo una base de datos con _, 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: Select all

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.
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: problema al realizar un filtro

Post by karinha »

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

Saludos.
João Santos - São Paulo - Brasil
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: problema al realizar un filtro

Post by lucasdebeltran »

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.
User avatar
TecniSoftware
Posts: 213
Joined: Fri Oct 28, 2005 6:29 pm
Location: Quilmes, Buenos Aires, Argentina

Re: problema al realizar un filtro

Post by TecniSoftware »

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
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: problema al realizar un filtro

Post by lucasdebeltran »

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.
User avatar
TecniSoftware
Posts: 213
Joined: Fri Oct 28, 2005 6:29 pm
Location: Quilmes, Buenos Aires, Argentina

Re: problema al realizar un filtro

Post by TecniSoftware »

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
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: problema al realizar un filtro

Post by lucasdebeltran »

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.
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: problema al realizar un filtro

Post by karinha »

Code: Select all

   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
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: problema al realizar un filtro

Post by lucasdebeltran »

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.
Post Reply