Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   [ Συναρτήσεις ] Επιλογή έκθεσης και αποστολή (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/5722-epilogi-ekthesis-kai-apostoli.html)

smasak 05-12-20 16:56

Επιλογή έκθεσης και αποστολή
 
Καλησπέρα σας, με την εντολή
"DoCmd.OutputTo acOutputReport, "rptEMAIL", acFormatPDF, myPath & strReportName, 0"
βγάζω στο c:\ την συγκεκριμένη έκθεση και την αποστέλλω ως pdf με email.

Με την εντολή
DoCmd.OpenReport "rptEMAIL", acViewPreview, , "idEmGen=" & Me.idEmGen
βλέπουμε την συγκεκριμένη εγγραφή

Πως πρέπει να συνταχθεί η πρώτη εντολή για έξοδο της έκθεσης σε PDF αλλά όμως μόνο με την συγκεκριμένη εγγραφή "idEmGen";

tsgiannis 08-12-20 14:41

Η Λύση απο τον 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 κλικ...


Η ώρα είναι 21:04.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2