Newsgroup: it.comp.appl.access
Titolo: Invio report via mail..

Buongiorno..Ho una richiesta da soddisfare: devo poter mandare un 
report via mail ad un'indirizzo fisso, ma non ho molte conoscenze a 
riguardo..Da codice ho soltanto mandato mail di testo fin'ora,ma non 
report..Mi sapete dare due dritte? Grazie 1000!!
-- 
AA
Inviato da 
www.mynewsgate.net

 ha scritto nel messaggio 
news:200410190...@mynewsgate.net...

Il report disgiunto da access credo sia cosa un po' improbabile. Potresti 
creare o un file snapshot, oppure un pdf (molto più diffuso) che sia 
l'esatta rappresentazione del report.
Per generare .pdf dovresti usare un tool apposito.
Dopo di che potresti inviare la mail con l'allegato.
questo è il codice che uso, ma devi gestirti i riferimenti ad outlook sempre 
se  lo usi  come client ... altrimenti sul sitocomune ci sono diverse 
soluzioni che fanno al caso tuo.
Sub SendMessage(DisplayMsg As Boolean, Optional AttachmentPath)
          Dim objOutlook As Outlook.Application
          Dim objOutlookMsg As Outlook.MailItem
          Dim objOutlookRecip As Outlook.Recipient
          Dim objOutlookAttach As Outlook.Attachment
          Dim destinatario As String, oggetto As String, corpus As String
          oggetto = Me.oggetto
          corpus = "Destinatario:" & Me.destinatario & " Mittente: " & 
Me.mittente
destinatario = InputBox("digitare il destinatario", "Destinatario", 
"
pi...@pippo.it
")
If destinatario <> "" Then    ' L'utente sceglie il pulsante Sì.
          ' Create the Outlook session.
          Set objOutlook = CreateObject("Outlook.Application")
          ' Create the message.
          Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
          With objOutlookMsg
              ' Add the To recipient(s) to the message.
              'qui inizia la correzione
              'Set objOutlookRecip = .Recipients.Add("
cir...@libero.it
")
              Set objOutlookRecip = .Recipients.Add(destinatario)
              objOutlookRecip.Type = olTo
              ' Add the CC recipient(s) to the message.
              Set objOutlookRecip = .Recipients.Add("
pi...@pippo.it
")
              objOutlookRecip.Type = olCC
             ' Add the BCC recipient(s) to the message.
              Set objOutlookRecip = .Recipients.Add("
pi...@pippo.it
")
              objOutlookRecip.Type = olBCC
             ' Set the Subject, Body, and Importance of the message.
             'correzione anche dell'oggetto
             '.Subject = "This is an Automation test with Microsoft Outlook"
             .Subject = oggetto
             'inizio correzione anche del corpo del messaggio
             '.Body = "This is the body of the message." & vbCrLf & vbCrLf
             .Body = corpus & vbCrLf & vbCrLf
             .Importance = olImportanceHigh  'High importance
             ' Add attachments to the message.
             If Not IsMissing(AttachmentPath) Then
                 Set objOutlookAttach = .Attachments.Add(AttachmentPath)
             End If
             ' Resolve each Recipient's name.
             For Each objOutlookRecip In .Recipients
                 objOutlookRecip.Resolve
             Next
             ' Should we display the message before sending?
             If DisplayMsg Then
                 .Display
             Else
                 .Save
                 .Send
             End If
          End With
          Set objOutlook = Nothing
      Else    ' L'utente sceglie il pulsante No.
End If
      End Sub
poi la richiami cosi per es da un pulsante:
Private Sub Comando57_Click()
'SendMessage True, "C:\fattura.pdf"
Dim attach As String
attach = "c:\allegato.pdf"
SendMessage True, attach
End Sub