** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Generar pdf de informe de cada registro consulta
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Generar pdf de informe de cada registro consulta

 Responder Responder
Autor
Mensaje
rafam Ver desplegable
Nuevo
Nuevo


Unido: 11/Septiembre/2020
Localización: españa
Estado: Sin conexión
Puntos: 3
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita rafam Cita  ResponderRespuesta Enlace directo a este mensaje Tema: Generar pdf de informe de cada registro consulta
    Enviado: 11/Septiembre/2020 a las 12:17
Hola, a ver si me podéis ayudar.

Tengo un formulario con una consulta por varios campos (periodo fechas, cliente,...) y los resultados los muestra en un subformulario. Me gustaría crear un botón que recorriera esa consulta y generara un pdf ,basado en una plantilla de informe que ya tengo, por cada registro de la consulta. 

Hasta ahora puedo generar un pdf individual de cada registro manualmente a través de una macro pero es muy lento ya que tengo que ir a cada registro, abrir informe y generar pdf.

Gracias por cualquier guía o sugerencia. 








Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 13125
Opciones de entrada Opciones de entrada   Gracias (1) Gracias(1)   Cita xavi Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 11/Septiembre/2020 a las 14:29
Hola rafam y bienvenido al foro,

Yo recorrería el RecordsetClone del subformulario y lanzaría el código para lanzar el PDF (no me queda claro si tienes un código o lo haces manualmente)

Un saludo
Xavi, un minyó de Terrassa

Mi web
Arriba
emiliove Ver desplegable
Moderador
Moderador


Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 5239
Opciones de entrada Opciones de entrada   Gracias (1) Gracias(1)   Cita emiliove Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 11/Septiembre/2020 a las 16:30
Yo crearía un informe del origen de registro del subformulario y lo guardaría como pdf.

Solo por dar la conta a Xavi Smile
Saludos.


Editado por emiliove - 11/Septiembre/2020 a las 16:31
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 2633
Opciones de entrada Opciones de entrada   Gracias (1) Gracias(1)   Cita rokoko Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 11/Septiembre/2020 a las 17:25
Yo lo suelo hacer con un recordset basado en la misma consulta que el formulario y con un bucle te crearia tantos informes como registros tenga la consulta.

Al informe, tendrias que asignarle un recoedsource filtrando por el campo que tu quieras de ese cliente. El recordsource lo asignarias dentro del bucle y antes de crear el pdf.....
Arriba
rafam Ver desplegable
Nuevo
Nuevo


Unido: 11/Septiembre/2020
Localización: españa
Estado: Sin conexión
Puntos: 3
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita rafam Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 11/Septiembre/2020 a las 18:46
Gracias a todos por vuestras respuestas. Al final parece que he conseguido hacer lo que quería que era. Lo pongo para revisar y por si a alguien le sirve:

El escenario es que tengo un formulario con un subformulario al que hago consultas según fechas y otras campos. Mi idea es crear un botón que recorra los registros del subformulario y vaya generando un pdf basado en un informe, guardando en disco todos los pdf's. El código del botón:

On Error Resume Next
Dim stDocName As String
Dim rs As DAO.Recordset, subfrm As Form


Set subfrm = Form_SUBFORMULARIO_CONSULTA_FACTURAS.Form
Set rs = subfrm.RecordsetClone

With rs
.MoveFirst
While Not .EOF

'GENERA PDF CON INFORME FACTURAS Y LO GAURDA EN DISCO
stDocName = "FACTURAS"
DoCmd.OpenReport stDocName, acViewPreview, , "[ID_FACTURA]=" & rs!ID_FACTURA
DoCmd.OutputTo acOutputReport, stDocName, acFormatPDF, "C:\Users\rafa\Documents\facturas\" & rs!ID_FACTURA & ".pdf"
DoCmd.Close acReport, "FACTURAS"
DoEvents

.MoveNext


Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable