FoxPro/Visual FoxPro - Cantidad de pags. en report

 
Vista:

Cantidad de pags. en report

Publicado por Victor (11 intervenciones) el 05/06/2001 23:45:40
Es realmente posible activar o crear una funciòn que me retorne la cantidad de paginas en un reporte?
probè con el ejemplo de la web de pablo y el resultado no es exacto, a veces sale una pagina de mas o 30 de mas o menos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cantidad de pags. en report

Publicado por Alberto Sánchez (87 intervenciones) el 06/06/2001 22:48:45
Mi querido amigo Víctor:

El punto que estás pidiendo es bastante común, ya que desafortunadamente el reporteador de Visual Fox, a pesar de ser tan bueno, no contempla esa opción, pero la buena noticia es que habemos algunos curiosos que buscamos soluciones no pretextos y aqui te va una metodologia que funciona muy bien, Ok, aqui vamos:

1) Declara una variable publica, "nTotPages" que inicialices como NUMERICA, esta va a ser utilizada para guardar datos generados por el report Form.
2) Una vez que tengas lista tu tabla, cursor o vista, deberas lanzar el reporte con un parámetro especial, incluyendo condiciones si es necesario, por ejemplo:

(a)
REPORT FORM frReport FOR Tabla.Cuenta = '001-0001-9878' Etc...

(b) Para poder obtener las páginas generadas por el Reporte, cualquier reporte que vayas a mandar, debes usar la siguiente orden, recuerda que si vas a usar condiciones la peticion deberá incluirlas, ¿ ok ?

Para obtener total de páginas del reporte:
REPORT FORM frReporte [FOR <Condiciones>] RANGE 9000 NOCONSOLE

Luego, para almacenar las paginas generadas por tu reporte:
ntotPages = _PageNo

(C) Dentro del Footer del Reporte, incluyes una cadena que permita monitorear el numero de pagina en adicion a las obtenidas y almacenadas en la variable global:

(1) Por ejemplo:
'Pag.# ' + ALLTRIM(STR(_PageNo)) + '/ ' + ALLTRIM(STR(nTotPages))

(2) Otro Ejemplo...
'Pag.# ' + ALLTRIM(STR(_PageNo)) + ' de ' + ALLTRIM(STR(nTotPages))

Y ¡Voila! tienes resuelto el problem
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cantidad de pags. en report

Publicado por Gandalf (17 intervenciones) el 07/06/2001 01:20:06
Mejor aún...

REPORT FORM <report_name> TO FILE <nombre_tmp> NOCONSOLE

nTotalPages= _PAGENO

ERASE FILE <nombre_tmp>

REPORT FORM <report_name> TO PRINTER

* Por supuesto debes incluir nTotalPages en el Footer como te indicó
* Alberto Sánchez
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar