VFP6 Total de páginas de un Informe

TONY
03 de Junio del 2004
Como puedo agregar en un informe el Número total de páginas, para hacerlo así (Página 1 de X ) Existe alguna funcion para esto?. La busque en la ayuda y solo encontre la la funcion (_pageno) que me da la pagina actual. En caso de no existirla funcion como puedo hacerlo.
Muchas Gracias.

Luisen98
03 de Junio del 2004
Tienes razon Tony, esta funcion aparece hasta la version 8, pero te pongo una direccion que de seguro te va a ayudar en esto:

http://www.portalfox.com/modules.php?op=modload&name=News&file=article&sid=3



raul
03 de Junio del 2004
De documento VFPtrucos:
Contador de hojas

Se corre el reporte dos veces. La primera vez la salida del reporte va a una ventana no visible.

* Se define la ventana
Define Window x From 1,1 To 20,20
* Se activa la ventana de manera invisible
Activate Window x NoShow
* Se prepara una variable pública para recibir el número de hojas
oApp.nPaginas = 0
* Se ejecura el reporte, cuyo nombre está en la variable cReporte
Report Form (cReporte)
* Se guarda el número de hojas del reporte
oApp.nPaginas = _PAGENO
* Se elimina la ventana de paso
Release Window x
* Se activa la ventana actual, en este caso "informes"
Activate Window Informes
* Se ejecuta el reporte a la impresora, como quieras
* Dentro de tu reporte usas la variable oApp.nPaginas para la expresión que
deseas.
* Por ejemplo "ALLTRIM(STR( _pageno)) de oApp.nPaginas"

Raul
03 de Junio del 2004
Mas sencillo:

nTotalPages = 0
REPORT FORM MyReport NOCONSOLE
nTotalPages = _pageno
REPORT FROM MyReport TO PRINT NOCONSOLE
La primera vez no imprimira nada por que no existe la calusula TO PRINT, pero pondra el total de las paginas en _pageno. Para imprimir "pagina x de y", el reporte debera contener una expresion como la siguiente:

"Pagina "+ALLTRIM(STR(_pageno)) +" de "+ ;
ALLTRIM(STR(nTotalPages))

Andres
03 de Junio del 2004
no se si lo necesitas aun, sin embargo en fox 8 hay una que se llama _pagetotal, sin embargo lo puedes crear asi:

*crea un reporte invisible
DEFINE WINDOW x FROM 1,1 TO 20,20
ACTIVATE WINDOW x NOSHOW
npaginas=0

REPORT FORM mireporte.frx
npaginas= _PAGENO && cuenta el total de las paginas al final del informe
RELEASE WINDOW x

luego vuelves a generar el reporte normalmente