Crear botón en informe de Access para que exporte a un pdf en una ruta determinada

Tengo un informe de Access, en el cual quería incluir un botón que al hacer click en él me exportara el informe a un documento con formato pdf en una ruta determinada.

Siguiendo otra respuesta en esta misma web, le asigné al botón este código:

Private Sub Comando34_Click()
Const Destino As String = " C:\Documents and Settings\rmiguez\Escritorio\Rubén\"

DoCmd. OutputTo acOutputForm, "Vista individual ordenanzas", acFormatPDF, Destino & "Ordenanzas.pdf" ', False, "",, acExportQualityPrint
End Sub

Pero no es válido ya que me da un error y me dice que no encuentra el objeto Vista individual ordenanzas (que es el informe que yo quiero exportar a pdf).

¿Alguna solución o alternativa?

2 Respuestas

Respuesta
1

En el código le estás diciendo que tiene que exportar un formulario llamado "Vista individual ordenanzas" (DoCmd. OutputTo acOutputForm). Si quieres exportar un informe, tienes que cambiarlo por acOutputReport.

Muchísimas gracias por contestar tan rápido.

Cambié el dato que me indicaste y al hacer click en el botón, empieza a generar el pdf (se ve como pone página actual X), pero de repente se para y da el siguiente error:

La opción Output se canceló.

No sé si tendrá que ver, o fue un error al poner el código en la pregunta, pero veo que le sobra una comilla simple después del nombre del archivo destino:

DoCmd. OutputTo acOutputReport, "Vista individual ordenanzas", acFormatPDF, Destino & "Ordenanzas.pdf", False, "",, acExportQualityPrint

Gracias por tu ayuda, pero al final empleé otro código, ya que ese no paraba de darme errores por una cosa u otra y yo no tengo muchos conocimientos en vba.

Dejo aquí el código que sí que me funcionó, por si a alguien le sirve (Access 2007):

Private Sub Comando38_Click()
Dim strUserName As String, strPath As String
strPath = "C:\Documents and Settings\rcbdrg\Escritorio\Rubén\Vista individual ordenanzas.pdf"
DoCmd.OutputTo acOutputReport, "Vista individual ordenanzas", acFormatPDF, strPath, True
End Sub

Muchas gracias por tu tiempo y dedicación. 

Pues nada, me alegro que lo resolvieras.

Respuesta

Tengo un problema con una linea parecida.

Los introduzco esto funcionaba bien hasta que dividí la base (Back-end / Front-end).

Pego el código entero del botón. Me exporta el Formulario pero imprime 46 hojas repetidas de ese formulario.

Private Sub cmdImprimir_Click()
    Dim miForm As String
    Dim miRuta As String
    Dim nomArchivo As String
    Dim miRutaC As String
    Dim TxtNP As String
    TxtNP = Nz(Me.TxtNPedidoED, "")
If TxtNP = "" Then 'Si no cargamos ningún cliente, avisamos y salimos
    MsgBox "No has cargado un Nº DE PEDIDO.", vbOKOnly + vbInformation, "AVISO"
            Me.TxtNPedidoED.SetFocus
    Exit Sub
    End If
Call FuncionColorB(Me.Name)
On Error GoTo cmdImprimir_Click_Err
miRutaC = fncSelectCarpeta()
        If miRutaC = "" Then
        Else
miForm = Me.Name
nomArchivo = (miRutaC & "\" & Me.TxtNPedidoED & "-" & Format(Date, "dd-mm-yyyy") & ".pdf")
DoCmd. OutputTo acOutputForm, miForm, "PDFFormat(*.pdf)", nomArchivo, True, "", 0, acExportQualityPrint
Call FuncionColorA(Me.Name)
        End If
cmdImprimir_Click_Exit:
    Exit Sub
cmdImprimir_Click_Err:
    MsgBox "Se canceló la Impresión", vbInformation + vbOKOnly, "ERROR"
    Resume cmdImprimir_Click_Exit
End Sub

a mi forma de ver el cambio que realice en la base no debería afectar este código.

Si debo crear una consulta aparte avisen me.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas