Condividi tramite

problemi con il comando docmd.OutputTo invio report

Anonimo
2016-11-15T13:08:27+00:00

Salve a tutti , non sono nuovo del forum gia' altre volte mi avete dato una grossa mano a risolvere dei problemi in access. Eccomi di nuovo con altri problemi ho fatto un programmino che da un file excel  crea dei report che devo inviare in una cartella sul desktop e poi inviare per posta . Ma riesco a salvare solo il primo report e poi esce un errore (Comando o azione 'OutputSu' attualmente non disponibile).Mentre se faccio girare il programma passo passo  va tutto bene salva sia i report ed invia per posta senza nessun errore.

Mi potete aiutare non so piu' come fare.

Grazie mille.

Private Sub SalvaReport()

NomefileCaserta = "Caserta_" & Replace(Date, "/", "-")

DoCmd.OutputTo acOutputReport, "ReportUnicoCaserta", acFormatPDF, "D:\area open" & NomefileCaserta & ".pdf", False

NomefileCatania = "Catania_" & Replace(Date, "/", "-")

DoCmd.OutputTo acOutputReport, "ReportUnicoCatania", "PDFFormat", "D:\area open" & NomefileCatania & ".pdf", False

NomefileRoma = "Roma_" & Replace(Date, "/", "-")

DoCmd.OutputTo acOutputReport, "ReportUnicoRoma", "PDFFormat", "D:\area open" & NomefileRoma & ".pdf", False

NomefileBologna = "Bologna_" & Replace(Date, "/", "-")

DoCmd.OutputTo acOutputReport, "ReportUnicoBologna", "PDFFormat", "D:\area open" & NomefileBologna & ".pdf", False

End Sub

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

2 risposte

Ordina per: Più utili
  1. Anonimo
    2016-11-16T11:58:10+00:00

    Ciao Domenico,

    prova ad inserire l'istruzione DoEvents dopo ogni DoCmd.OutputTo .

    Ciao Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2016-11-15T15:18:56+00:00

    ciao Domenico,

    non vedrei errori evidenti nel tuo codice, ho provato a individuare una soluzione forse più ordinata anche se potenzialmente ulteriormente migliorabile :

    Option Compare Database

    Option Explicit

    Private Const strOutputPath As String = "D:\area open"

    Private Const formatoPDF    As String = acFormatPDF

    Private Sub cmdToPDF_Click()

    Dim strRptName      As String

    Dim strDate              As String

    strDate = myFormat(Date)

    strRptName = "Caserta_" & strDate

    exportPDFtoDisk strReportName:="ReportUnicoCaserta", _

                    rptName:=strRptName

    strRptName = "Catania_" & strDate

    exportPDFtoDisk strReportName:="ReportUnicoCatania", _

                    rptName:=strRptName

    strRptName = "Roma_" & strDate

    exportPDFtoDisk strReportName:="ReportUnicoRoma", _

                    rptName:=strRptName

    strRptName = "Bologna_" & strDate

    exportPDFtoDisk strReportName:="ReportUnicoBologna", _

                    rptName:=strRptName

    End Sub

    Private Sub exportPDFtoDisk(ByVal strReportName As String, _

                                ByVal rptName As String)

    DoCmd.OutputTo objecttype:=acOutputReport, _

                   objectName:=strReportName, _

                   outputformat:=formatoPDF, _

                   outputfile:=strOutputPath & rptName & ".pdf", _

                   autostart:=False

    End Sub

    Private Function myFormat(ByVal dtDate As Date) As String

    myFormat = Format$(Date, "dd-mm-yyyy")

    End Function

    ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento