Problema con código para pasar varias hojas a varios PDFs

Copié de una contestación de Icue de hace tiempo a otra persona pero a mi me da error. Os comento: pretendo desde el botón de un formulario [FRM SOCIOS] que a través de un botón me abra un informe [rpt puntuacionesindividuales todos] y que me guarde en la carpeta de un pendrive un archivo en pdf por cada socio con el mail y nombre pero sólo me guarda el primer registro, después me da el siguiente error: " Se ha producido el error '2046' en tiempo de ejecución. La acción o comando 'IrARegistro' no está disponible ahora.

El código que tengo es este:

Private Sub Comando7_Click()
Dim i As Integer
For i = 1 To Form.Recordset.RecordCount
DoCmd.OpenReport "rpt puntuacionesindividuales todos", acPreview, , "Email='" & Me.Email & "'"
DoCmd.OutputTo acOutputReport, "rpt puntuacionesindividuales todos", "PDFFormat (*.pdf)", "G:\PuntosGallaecios\" & Me.Email & Me.Socio & " .pdf", , , False
DoCmd.GoToRecord , , acNext
Next
End Sub

1 respuesta

Respuesta
2

Hazlo así:

Dim rst As DAO.Recordset
Set rst = Me.RecordsetClone
rst.MoveFirst
Do Until rst.EOF
DoCmd.OpenReport "rpt puntuacionesindividuales todos", acPreview, , "Email='" & rst("Email") & "'"
DoCmd.OutputTo acOutputReport, "rpt puntuacionesindividuales todos", "PDFFormat (*.pdf)", "G:\PuntosGallaecios\" & rst("Email") & rst("Socio") & ".pdf", , , False
DoCmd. Close acReport, "rpt puntuacionesindividuales todos"
Rst. MoveNext
Loop
Rst. Close

NO te dará ese problema

Ahora me pone "Error de compilación No se ha definido el tipo definido por el usuario" y se sitúa en "rst As DAO.Recordset"

Que tengas activada una de las librerías DAO (solo una):

Microsoft DAO x.xx Object Library

Microsoft Office x.xx Access database engine Object Library

Pero me parece rarísimo que no tengas ninguna activada, porque en otros códigos de respuestas que te hemos dado, usas objetos recordset...

También puedes probar a omitir el "DAO."

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas