Access - Guardar informe en formato PDF

   
Vista:

Guardar informe en formato PDF

Publicado por Rafa Rodriguez restmal453@yahoo.es (2 intervenciones) el 18/01/2016 20:44:45
Hola amigos.

Tengo un ligero problemilla con la generación de archivos PDF a partir de un informe de Access 2010. Con el siguiente código genero el informe sin problemas:

1
2
3
4
5
Private Sub Comando4_Click()
DoCmd.RunCommand acCmdSaveRecord
DoCmd.OpenReport "Autores", acPreview, , "[Id]=" & Me![Id]
DoCmd.OutputTo acOutputReport, , acFormatPDF, ""
End Sub

Pero, si cancelo la generación del archivo, me da error "2501" y el mensajito "Depurar" o "Finalizar".

Si finalizo no hay mayor problema, pero me gustaría que no me saliese el dichoso mensajito. Supongo que falta alguna línea en el código para conseguir evitarlo.

Por favor, ¿podéis ayudarme?.

Gracias
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

Guardar informe en formato PDF

Publicado por Juan R. (17 intervenciones) el 18/01/2016 23:53:44
Buenas Rafa

Yo lo que haría es poner las líneas 3 y 4 en una clausula try ... catch, para tener tú controladas las excepciones, creo recordar que eso en VBA se hace con ON ERROR, busca información con ello y creo que te ayudará.

Un saludo
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

Guardar informe en formato PDF

Publicado por Enrique Heliodoro (1663 intervenciones) el 19/01/2016 00:21:39
Abortar una impresión no es un error fácil de interceptar (aunque esa acción si puede provocar errores en el resto de la acción), tapar un error es esconder la basura debajo de la alfombra (personalmente lo evito en la medida de lo posible) y una de las forma de evitarlo es tan sencilla como preguntar si se desea o no imprimir antes de hacerlo por defecto (como es el caso actual).
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

Guardar informe en formato PDF

Publicado por Rafa Rodriguez restmal453@yahoo.es (2 intervenciones) el 19/01/2016 19:25:02
Hola.

Bueno, realmente no quiero imprimirlo, sino guardar el informe como un archivo PDF. Como sabéis, en algunas ocasiones ocurre que estás trabajando con los formularios, metiendo datos y crees que ya está terminado y lo mandas guardar y, justo después de haber dado al botón de guardar como PDF te das cuenta que deberías haber metido algo más en el formulario; en ese momento cancelas la opción de guardar y es cuando sale el dichoso mensajito.

Se me ocurrió crear una macro y convertirla luego a código para comprobar qué líneas generaba con el fin de evitar el error, pero no he dado con la clave.

Si tuvierais alguna sugerencia os lo agradecería.

Muchas gracias por vuestro interés.
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

Guardar informe en formato PDF

Publicado por Enrique Heliodoro (1663 intervenciones) el 19/01/2016 20:14:35
Si la memoria juega una mala pasada, siempre queda el recurso de sobrescribir y solucionarlo de forma mas elegante que manipulando una acción en pleno proceso de ejecución

Nota: Imprimir para un PDF es el sinónimo de guardarlo, esto es, de dejar 'un rastro físico' de un 'planteamiento' virtual la impresora imprime, el PDF crea un objeto PDF.
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

Guardar informe en formato PDF

Publicado por Rafa Rodriguez (5 intervenciones) el 22/01/2016 18:17:13
Solucionado con:

1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Comando4_Click()
On Error GoTo Err_Comando4_Click
DoCmd.RunCommand acCmdSaveRecord
DoCmd.OpenReport "Autores", acPreview, , "[Id]=" & Me![Id]
DoCmd.OutputTo acOutputReport, , acFormatPDF, ""
Exit_Comando4_Click:
Exit Sub
Err_Comando4_Click:
DoCmd.Close
DoCmd.openForm "FAutores"
Resume Exit_Comando4_Click
End Sub

Igual no me expresé bien en mi planteamiento, pero no se trataba de imprimir a un PDF (utilizando una impresora virtual), sino crear directamente un archivo PDF. Lo único que necesitaba era crear la orden que debía ejecutarse caso de cancelar la acción y devolverme al formulario en el que estaba trabajando.

Muchas gracias
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