Ultima hoja de informe

Tengo un informe y en la ultima página la imprime en blanco porque los datos de la ultima página están en modo invisible, y como puedo hacer para que no me imprima esta hoja en blanco con datos en modo invisible

1 respuesta

Respuesta
1
En el pie de página incorporas un cuadro de texto con el dato>origen control
=[Páginas]
Y el Otras>Nombre
NumeroPaginas
En evento Al paginar incorporamos el código:
Dim TotalPaginas As Integer
TotalPaginas = NumeroPaginas - 1
DoCmd. PrintOut acSelection, 1, TotalPaginas, acHigh, 1

Con esto imprimimos el total de páginas menos una.
No he podido probarlo, así que ya me dirás si funciona.
Una aperta.
Hola, lo he probado tal como dices, sale el pantallazo de la impresión pero no se imprime nada
Lo he probado, y evidentemente tienes razón.
Parece que no deja imprimir dentro de un evento del informe, por lo que lo realizaremos desde un botón de formulario.
Dentro de un formulario incorporamos el código
Dim Informe As String
DoCmd. OpenReport "Consulta PRODUCTOS", acViewPreview
DoCmd. PrintOut acSelection, 1, TotalPaginas, acHigh, 1
DoCmd. Close acReport, "Consulta PRODUCTOS"

Y en la parte de arriba de la ventana de código (después de Option Compare Database) incorporamos el código
Public TotalPaginas As Integer
De esta manera al hacemos Publica la variable TotalPaginas, y al pulsar el botón creado, abre el informe, lee el número de páginas, guarda el dato en la variable publica, cierra el informe e imprime la selección de la 1 a la TotalPaginas.
En evento Al paginar incorporamos el código:
Dim TotalPaginas As Integer
TotalPaginas = NumeroPaginas - 1
DoCmd. PrintOut acSelection, 1, TotalPaginas, acHigh, 1
En evento Al paginar del informe incorporaríamos el código:
Dim TotalPaginas As Integer
TotalPaginas = NumeroPaginas - 1

Eliminando la línea de impresión (DoCmd. PrintOut acSelection, 1, TotalPaginas, acHigh, 1)
Esta vez lo he probado, así que debería de imprimir.
Una aperta.
Ahora imprime pero todas las hojas, he comprobado que calcula bien totalpaginas es posible que el problema esta en el código docmd.printout que no lee el valor de totalpaginas, ¿a ti te imprime todas las páginas o las que pides?
Si, ya lo tengo tu información es correcta pero la variable publica debo ponerla en un modulo aparte y anular : Dim totalpaginas as integer
Muchas gracias y saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas