Access - Impresion de informe a documento PDF directamente

 
Vista:
Imágen de perfil de Francisco Valverde

Impresion de informe a documento PDF directamente

Publicado por Francisco Valverde (6 intervenciones) el 09/01/2009 11:48:09
Hola, mi cuestión es la siguiente:
Tengo una base de datos de 9000 registros. Y quiero imprimir todos los registros con un informe que ya existe; utilizando como impresora de salida una del tipo "Adobe PDF" pero, en archivos PDF distintos (en diferentes documentos) donde capture para el nombre del archivo, un campo que yo programe, sin tener que escribir los 9000 nombres para los distintos registros.
Saludos y muchas 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
Imágen de perfil de Francisco Valverde

RE:Impresion de informe a documento PDF directamen

Publicado por Francisco Valverde (6 intervenciones) el 25/01/2009 18:54:47
Hola, he estado probando con PDF995. Este programa permite guardar un PDF sin preguntar nombre, ademas de poder ir cambiando el nombre del archivo con la ejecucion de un bucle. Este nombre va a ser el número de registro. Más o menos de esta forma:
1º Creo un botón en un formulario y agrego:
Private Sub ImprimirPDF995_Click()
Dim nombreInforme As String
Dim rutaInforme As String
Dim configuracion As String
Dim i As Integer

For i = 1 To 2
nombreInforme = i
rutaInforme = "c:pdf995"
configuracion = ""

' pasamos como parametros el nombre del informe, la ruta y la configuración
Call pdfwrite(nombreInforme, rutaInforme, i, configuracion)
Next
End Sub

2º en la web del programa hay un código para cambiar el nombre del archivo en tiempo de ejecución: http://www.freeware995.com/misc/vbacode.txt, a este código le hago una pequeña modificación:
a) en la cabecera de la función:
pdfwrite(reportname As String, destpath As String, registro As Integer, Optional strcriteria As String)

b) en el código:
If registro <> 0 Then
' imprime el informe
'este parametro se le pasa al informe, el cual lo adquiere como condición WHERE
seleccion_registro = "[parcela]=[" & reportname & "]"
DoCmd.OpenReport reportname, acViewNormal, seleccion_registro, strcriteria
Else
'imprime informe desde macro si el valor del registro es 0.
stDocName = "Imprime todos los informes" 'Nombre macro
DoCmd.RunMacro stDocName ' La macro pide el registro que quieres imprimir
End If

Pero mi gozo en un pozo no llega a imprimir nada. Se queda pensando y nada. Alguien puede darme una idea. Gracias y saludos
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