Report da inviare come allegato

Anonimo
2014-04-09T10:44:37+00:00

Avrei la necessità di inviare giornalmente ad alcune persone tramite e-mail, due report con i dati di produzione dell'azienda.

I report sono creati ma desidero che siano in automatico confertiti in PDF e successivamente inviati tramite Outlook.

Tutto questo è possibile attraverso un pulsante?

Grazie mille

Mimmo

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

9 risposte

Ordina per: Più utili
  1. Anonimo
    2014-04-09T14:13:51+00:00

    Sull'evento su Click del pulsante cmdInviaElenchi.

    Ho dovuto nascondere con xxxxx l'indirizzo eMail a cui inviare. Tieni presente che il codice cicla su un elenco di destinatari e per ciascuno genera una report filtrata. L'ideale sarebbe che l'elenco abbia anche la colonna indirizzo eMail.

    Sì, reportName è il nome della report.

    Tutte le variabili sono nella tabella OOAK. Ad es. FormatoAllegato = "pdf"

    Questo codice è necessario poichè vuoi inviare più di un allegato. Quindi avrai più righe con:

     .Attachments.Add "C:\TEMP\reportName." & DLookup("OOAK_FormatoAllegato", "OOAK")

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2014-04-09T14:04:01+00:00

    Ciao,

    ti riporto uno stralcio da un mio Db:

    Private Sub cmdInviaElenchi_Click()

        Dim outApp As Object

        Dim outMsg As Object

        Dim resp As Variant

        Dim i As Integer

        Dim iMittente As Long

       

        resp = MsgBox("Si confermano gli invii di EMail ?", vbOKCancel, "EMail agli xxxxxxx.")

        If Not resp = vbOK Then

           Beep

           Exit Sub

        End If

       

        On Error Resume Next

        Set outApp = GetObject(, "Outlook.Application")     'Se Outlook già attivo

        If Err Then

           Err.Clear

           Set outApp = CreateObject("Outlook.Application")   'Apro nuova sessione di Outlook

        End If

    'Per tutti gli elementi in cboElenco compone una mail con il proprio allegato    

        For i = 0 To cboElenco.ListCount - 1

            DoCmd.OpenReport "ReportName", acViewPreview, , Me.Filter & " And Left(xxxxxx,3) = '" & cboElenco.ItemData(i) & "'"

            DoCmd.OutputTo acOutputReport, , DLookup("OOAK_FormatoAllegato", "OOAK"), _

                       "C:\TEMP\ReportName." & DLookup("OOAK_FormatoAllegato", "OOAK")

           

            Set outMsg = outApp.CreateItem(olMailItem)

            iMittente = DLookup("OOAK_From", "OOAK")

            With outMsg

                Set .SendUsingAccount = outApp.Session.Accounts.Item(iMittente)

                .To = "E" & cboElenco.ItemData(i) & "*** L'indirizzo di posta elettronica viene rimosso per motivi di privacy ***"

                .CC = DLookup("OOAK_CC", "OOAK") & " "

                .BCC = DLookup("OOAK_CCn", "OOAK") & " "

                .Subject = "Elenco di: " & cboElenco.ItemData(i) & " - " & DLookup("OOAK_Oggetto", "OOAK")

                .Body = DLookup("OOAK_Testo", "OOAK")

                .Attachments.Add "C:\TEMP\reportName." & DLookup("OOAK_FormatoAllegato", "OOAK")

                .Send

            End With

        

            Set outMsg = Nothing

            DoCmd.Close

            Beep

        Next i

       

        Set outApp = Nothing

        Beep

        On Error GoTo 0

    End Sub

    Ciao Mimmo

    Quanto segnalato deve essere collegato ad un pulsante?

    E-mail agli al posto degli xxxxxx cosa devo mettere?

    ReportName devo mettere il nome del mio report?

    FormatoAllegato cosa mettere?

    Devo cambiare altro?

    Grazie

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2014-04-09T13:45:49+00:00

    Ciao,

    ti riporto uno stralcio da un mio Db:

    Private Sub cmdInviaElenchi_Click()

        Dim outApp As Object

        Dim outMsg As Object

        Dim resp As Variant

        Dim i As Integer

        Dim iMittente As Long

        resp = MsgBox("Si confermano gli invii di EMail ?", vbOKCancel, "EMail agli xxxxxxx.")

        If Not resp = vbOK Then

           Beep

           Exit Sub

        End If

        On Error Resume Next

        Set outApp = GetObject(, "Outlook.Application")     'Se Outlook già attivo

        If Err Then

           Err.Clear

           Set outApp = CreateObject("Outlook.Application")   'Apro nuova sessione di Outlook

        End If

    'Per tutti gli elementi in cboElenco compone una mail con il proprio allegato    

        For i = 0 To cboElenco.ListCount - 1

            DoCmd.OpenReport "ReportName", acViewPreview, , Me.Filter & " And Left(xxxxxx,3) = '" & cboElenco.ItemData(i) & "'"

            DoCmd.OutputTo acOutputReport, , DLookup("OOAK_FormatoAllegato", "OOAK"), _

                       "C:\TEMP\ReportName." & DLookup("OOAK_FormatoAllegato", "OOAK")

            Set outMsg = outApp.CreateItem(olMailItem)

            iMittente = DLookup("OOAK_From", "OOAK")

            With outMsg

                Set .SendUsingAccount = outApp.Session.Accounts.Item(iMittente)

                .To = "E" & cboElenco.ItemData(i) & "******@xxxx.it"

                .CC = DLookup("OOAK_CC", "OOAK") & " "

                .BCC = DLookup("OOAK_CCn", "OOAK") & " "

                .Subject = "Elenco di: " & cboElenco.ItemData(i) & " - " & DLookup("OOAK_Oggetto", "OOAK")

                .Body = DLookup("OOAK_Testo", "OOAK")

                .Attachments.Add "C:\TEMP\reportName." & DLookup("OOAK_FormatoAllegato", "OOAK")

                .Send

            End With

            Set outMsg = Nothing

            DoCmd.Close

            Beep

        Next i

        Set outApp = Nothing

        Beep

        On Error GoTo 0

    End Sub

    Ciao Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2014-04-09T13:16:03+00:00

    Ciao,

    prova a guardare http://support.microsoft.com/kb/161088

    dovrebbe risponderti a tutto.

    Mimmo

    Non riesco a caparci nulla. Scusa se disturbo potresti aiutarmi in altro modo. Vedo che le spiegazioni sono inerenti Access97 io uso Access 2010.

    Ciao

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2014-04-09T11:21:20+00:00

    Ciao,

    prova a guardare http://support.microsoft.com/kb/161088

    dovrebbe risponderti a tutto.

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento