|
Responder
|
| Autor | |
rokoko
Colaborador
Unido: 16/Febrero/2008 Localización: Pamplona Estado: Sin conexión Puntos: 3071 |
Tema: PDF Lebans los crea en blancoEnviado: 21/Abril/2020 a las 20:16 |
|
Hola.
Llevo utilizando este sistema de crear PDFs unos años, una maravilla por cierto. Pero en Access 2013 con window7 los informes me los PDF me salen blancos, sin informacion. En access 2003 y windows7 lo hace correctamente. La base de datos es MDB. Me suena que siempre trabajaba bien, pero igual estoy equivocado. La cuestion es que en algunos equipos hay Access 2003 y en otros Access 2010, y me gustaria que siempre fuese en MDB, de hay el problema. A ver si alguien puede averiguar por que ocurre, yo no encuentro info. Podeis descargar la base de datos de Lebans aqui. Saludos |
|
![]() |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador
Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14428 |
Enviado: 21/Abril/2020 a las 22:13 |
|
A partir de una cierta versión de Access la rutina de Lebans casca (si no recuerdo mal es porque no puede obtener el archivo snapshot intermedio).
De todas formas en Access 2013 obtén directamente el archivo en PDF. DoCmd.OutputTo acOutputReport, NombreReport, acFormatPDF, "C:\Temp\NombreArchivo.pdf"
|
|
![]() |
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador
Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14926 |
Enviado: 21/Abril/2020 a las 23:15 |
|
Sin ánimo de ofender pero tener equipos con 2003, si se trata de una empresa, es para hacérselo mirar. Ya sabemos que el software no lo regalan pero hoy en día hay variedad de licencias de Office que se adaptan a cualquier economía. Voy a suponer que existen causas de fuerza mayor (no económicas) para mantener esas versiones. La solución, si es que debe ser así, pasará por evaluar la versión de Office y lanzar la rutina de Lebans o la salida "nativa" según corresponda. Utilizando Application.Version se obtiene el número de versión. 97: 8.0 2000: 9.0 2002: 10.0 2003: 11.0 2007: 12.0 2010: 14.0 2013: 15.0 2016: 16.0 Repito: sin ánimo de ofender.
|
|
![]() |
|
rokoko
Colaborador
Unido: 16/Febrero/2008 Localización: Pamplona Estado: Sin conexión Puntos: 3071 |
Enviado: 22/Abril/2020 a las 00:12 |
|
Lo se Mihura, en unos equipos hay 2003 y en otrro 2010...
Respecto a la Empresa, si es sorprendente, y es una muy grande y publica........Lo que pasa que access no una herramienta oficial por decirlo de alguna forma, pero los que trabajamos hay nos buscamos la vida para facilitarnos el trabajo..... Estudio la forma de Xavi, pero creo que lo mas facil sera tener dos versiones de access funcionado, dependiendo del equipo. Resueltas las dudas de por que no funciona, se puede cerrar Muchas gracias
|
|
![]() |
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador
Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14926 |
Enviado: 22/Abril/2020 a las 00:39 |
|
Reabro el hilo para discrepar sobre el comentario "lo más fácil será tener dos versiones de access funcionando"
Rotundamente no. Si mantienes 2 versiones de la aplicación cada cambio deberá hacerse 2 veces. Si se utiliza una sola versión, solo se trata de implementar la comprobación de la versión para lanzar el PDF de una forma u otra. Es más, hasta podrías pensar en utilizar constantes de compilador para evitar posibles problemas con el OutputTo. De hecho yo tendría una función "LanzaPDF" con los argumentos necesarios en cuanto a informe, nombre de fichero, etc y, dentro de ella, escogería que forma utilizo. Algo así:
Un saludo |
|
![]() |
|
rokoko
Colaborador
Unido: 16/Febrero/2008 Localización: Pamplona Estado: Sin conexión Puntos: 3071 |
Enviado: 22/Abril/2020 a las 08:05 |
Lo voy a probar, la aplicacion esta terminada y de hacerse alguna modificación sera pequeña, pero si, es un rollo, trabajar con dos versiones...... Editado por rokoko - 22/Abril/2020 a las 08:05 |
|
![]() |
|
rokoko
Colaborador
Unido: 16/Febrero/2008 Localización: Pamplona Estado: Sin conexión Puntos: 3071 |
Enviado: 22/Abril/2020 a las 11:00 |
|
Pues siguiendo los buenos consejos esto he probado y funciona tanto en W7 con access 2003 como con W7 y access 2013.
A no ser que me digais que no es correcto, se puede cerrar, muchas gracias.
Function PDFXX() If Application.Version = "11.0" Then MsgBox " V 11" Dim blRet As Boolean blRet = ConvertReportToPDF(Me.Name, vbNullString, "C:\Users\W7_Virtual\Desktop\Hola.pdf", True, False, 150, "", "", 0, 0, 0) Else MsgBox "V >11" DoCmd.OutputTo acOutputReport, Me.Name, acFormatPDF, "C:\Users\Casa\Desktop\AAAAAAA.pdf", False End If End Function |
|
![]() |
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador
Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14926 |
Enviado: 22/Abril/2020 a las 11:50 |
|
Para mi es correcto. Y funcionará siempre... que no tengas una máquina con Access anterior a 2003, dónde intentaria el envío OutputTo.
Para evitarlo yo haría una pequeña modificación. Convertiría el Application.Version a número y utilizaría <= en lugar de = If Val(Application.Version)<= 11 Then .... Un saludo
|
|
![]() |
|
rokoko
Colaborador
Unido: 16/Febrero/2008 Localización: Pamplona Estado: Sin conexión Puntos: 3071 |
Enviado: 22/Abril/2020 a las 14:54 |
|
Perfecto Xavi!!
Por mi se puede cerrar... Saludos |
|
![]() |
|
Responder
|
|
|
Tweet
|
| Ir al foro | Permisos de foro ![]() Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |