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 de manuelpacha
1
1
manuelpacha, Trabajo de diseñador de bases de datos en entorno access con un...
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