Εμφάνιση ενός μόνο μηνύματος
  #2  
Παλιά 08-12-20, 14:41
tsgiannis Ο χρήστης tsgiannis δεν είναι συνδεδεμένος
Όνομα: Γιάννης
Έκδοση λογισμικού Office: Ms-Office 2016
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 08-12-2020
Μηνύματα: 153
Προεπιλογή

Η Λύση απο τον Philipp Stiefel
Κώδικας:
Public Sub ExportFilteredReportToPDF()

    Dim reportName As String
    Dim fileName As String
    Dim criteria As String
    
    reportName = "rptYourReportName"
    fileName = "C:\tmp\report_export_file.pdf"
    criteria = "SomeTextField = 'ABC' AND SomeNumberField = 123"
    
    DoCmd.OpenReport reportName, acViewPreview, , criteria, acHidden
    DoCmd.OutputTo acOutputReport, reportName, acFormatPDF, fileName
    DoCmd.Close acReport, reportName, acSaveNo

End Sub
Θα μπορούσες και να κάνεις αυτόματα και την αποστολή είτε μέσω Outlook είτε μέσω κάποιας άλλης μεθόδου (π.χ CDO, vbSend)
Παράδειγμα με Outlook
Κώδικας:
Private Sub EmailReport_Click()
Dim oApp As New Outlook.Application
Dim oEmail As Outlook.MailItem
Dim fileName As string, todayDate As String    

'Export report in same folder as db with date stamp
todayDate = Format(Date, "MMDDYYYY")
fileName = Application.CurrentProject.Path & "\ReportName_" & todayDate & ".pdf"
DoCmd.OutputTo acReport, "ReportName", acFormatPDF, fileName, False

'Email the results of the report generated
Set oEmail = oApp.CreateItem(olMailItem)
With oEmail
    .Recipients.Add "myemailaddress@email.com"
    .Subject = "Training Roster"
    .Body = "Roster Information"
    .Attachments.Add fileName
    .Send        
End With

MsgBox "Email successfully sent!", vbInformation, "EMAIL STATUS"
Οπότε εαν ενώσεις τις 2 μεθόδους με 1 κλικ...
Απάντηση με παράθεση