problema al realizar un filtro

problema al realizar un filtro

Postby lucasdebeltran » 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: Select all  Expand view
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
lucasdebeltran
 
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am

Re: problema al realizar un filtro

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

Re: problema al realizar un filtro

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

Re: problema al realizar un filtro

Postby TecniSoftware » Wed Apr 25, 2012 1: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
User avatar
TecniSoftware
 
Posts: 233
Joined: Fri Oct 28, 2005 6:29 pm
Location: Quilmes, Buenos Aires, Argentina

Re: problema al realizar un filtro

Postby lucasdebeltran » Wed Apr 25, 2012 2: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.
User avatar
lucasdebeltran
 
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am

Re: problema al realizar un filtro

Postby TecniSoftware » Wed Apr 25, 2012 2: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
User avatar
TecniSoftware
 
Posts: 233
Joined: Fri Oct 28, 2005 6:29 pm
Location: Quilmes, Buenos Aires, Argentina

Re: problema al realizar un filtro

Postby lucasdebeltran » Wed Apr 25, 2012 2: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.
User avatar
lucasdebeltran
 
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am

Re: problema al realizar un filtro

Postby karinha » Wed Apr 25, 2012 4:20 pm

Code: Select all  Expand view

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

Re: problema al realizar un filtro

Postby lucasdebeltran » Wed Apr 25, 2012 5: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.
User avatar
lucasdebeltran
 
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 8 guests