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 "+STR( oApp.nPaginas")
SALUDOS MUCHACHOS, ayer encontre esto: cuando se envía un reporte a imprimir, muchos no podemos imprimir una página en particular, pero si le colocamos al final del prompt la clausula range(1, ultima pagina), se habilitará el formularo de impresora con la cantidad total de paginas de tu reporte y se le puede dar la oportunidad al usuario de imprimir cualquir pagina.