Hola:
Quiero filtrar todas las facturas desde una serie y un numero hasta otra serie y el número final de esa serie.
Por ejemplo, desde la a1 a la b10, de modo que tiene que imprimir toda la serie A entera y de la B sólo hasta la 5.
Hago:
local ccondicion := "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 ) )
set filter to & cCondicion
Sin emabrgo, sólo me imprime de la a1 a la a5 y de la b1 a la b5. Falta el resto de la serie A. ¿Qué hago mal?.
Muchas garcias!!!!.
Salu2,
Moisés
problema con filtro urgente
Re: problema con filtro urgente
Prueba con:MOISES wrote:Hola:
Quiero filtrar todas las facturas desde una serie y un numero hasta otra serie y el número final de esa serie.
Por ejemplo, desde la a1 a la b10, de modo que tiene que imprimir toda la serie A entera y de la B sólo hasta la 5.
Hago:
local ccondicion := "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 ) )
set filter to & cCondicion
Sin emabrgo, sólo me imprime de la a1 a la a5 y de la b1 a la b5. Falta el resto de la serie A. ¿Qué hago mal?.
Muchas garcias!!!!.
Salu2,
Moisés
Str( nCodigo2, 10, 0 ) en vez de Str( nCodigo2 )
estás comprobando cadenas y no es lo mismo '1' que '1.00' por ejemplo.
Saludos
Carlos G.
- Biel EA6DD
- Posts: 680
- Joined: Tue Feb 14, 2006 9:48 am
- Location: Mallorca
- Contact:
Lo primero seria recomendarte una solucion sin filtros, usando scope con un bucle While o similiar.
La sentencia para filtro debe ser del estilo
Suponiendo fnumero un campo númerico, si es caracter quitar el Str(), y ajustar Str(nCodigo, longitud del campo de la tabla)
La sentencia para filtro debe ser del estilo
Code: Select all
local ccondicion := " FIELD->FSERIE+Str(FIELD->FNUMERO,10) >= '"+cFSERIE1+ Str( nCodigo1,10 ) +;
"'.AND. FIELD->FSERIE+Str(FIELD->FNUMERO,10) <= '"+cFserie2+Str(nCodigo2,10)+"'"