Kamis, 05 November 2015

Re: [MS_AccessPros] Send specific report with SendReportHTML function

 

Kevin-


It's been ages since I used ..\ folder reference.  I think that goes to whatever windows thinks is the current folder.  Have you tried doing a search in Windows Explorer for TestReport.html?

"C:\Test\…" will fail if there's not a Test folder on the C drive.

John Viescas, Author
Microsoft Access 2010 Inside Out
Microsoft Access 2007 Inside Out
Microsoft Access 2003 Inside Out
Building Microsoft Access Applications 
SQL Queries for Mere Mortals 
(Paris, France)




On Nov 5, 2015, at 9:46 AM, zhaoliqingoffice zhaoliqingoffice@163.com [MS_Access_Professionals] <MS_Access_Professionals@yahoogroups.com> wrote:

John-
I got it. One more question, "C:\Test\TestReport.html" always gets error,so I changed it to "..\TestReport.html", it works perfect. Then I wonder where the output html goes to? since I couldnt find it in me computer at all. If it doesn't exist that would be great for me. But I worried this would take a lot of space after running some time. Please help.
Best Regards,
Kevin



在 "John Viescas JohnV@msn.com [MS_Access_Professionals]" <MS_Access_Professionals@yahoogroups.com>,2015年11月5日 下午3:58写道:

 

Kevin-


I *think* you can output just one page if you first open the report filtered on the on GroupBookingID that you want.  You can open it in Print Preview but hidden.

DoCmd.OpenReport strReportName, acViewPreview, WhereCondition:="GroupBookingID = " & Me.Parent.GroupBookingID, WindowMode:=acHidden

Be sure to close the report after you have output it.

John Viescas, Author
Microsoft Access 2010 Inside Out
Microsoft Access 2007 Inside Out
Microsoft Access 2003 Inside Out
Building Microsoft Access Applications 
SQL Queries for Mere Mortals 
(Paris, France)




On Nov 5, 2015, at 6:36 AM, 'zhaoliqingoffice@163.com' zhaoliqingoffice@163.com [MS_Access_Professionals] <MS_Access_Professionals@yahoogroups.com> wrote:

John-
For the SendReportHTML function, is that possible to send report from a specific record? For example: to send a report (rptItineraryPart) with ID=Me.Parent.GroupBookingID. By the way, here's again, the function you sent to me before:

Sub SendReportHTML(strReportName As String, strEmail As String, strSubject As String)
Dim strHTML As String, strInput As String
Dim strEmailAddress As String
Const olMailItem = 0
Const olFormatHTML = 2
Dim objOlApp As Object, objOlMail As Object

    ' Output the 1-page report to html
    DoCmd.OutputTo acOutputReport, strReportName, acFormatHTML, "C:\Test\TestReport.html"
    ' Open the resulting file
    Open "C:\Test\TestReport.html" For Input As #1
    ' Create an Outlook session
    Set objOlApp = CreateObject("Outlook.Application")
    ' Start a new email
    Set objOlMail = objOlApp.CreateItem(olMailItem)
    ' Read in the created HTML and put together an output string
    Do While Not EOF(1)  ' Loop until end of file
        ' Get a line from the file
        Input #1, strInput
        ' Add it to the accumulated HTML
        strHTML = strHTML & strInput
    Loop
    ' Close the file
    Close #1
    
    ' Use the mail item for several tasks
    With objOlMail
        .To = strEmail
        .Subject = strSubject
        .BodyFormat = olFormatHTML
        .HTMLBody = strHTML
        .Send
    End With
    
    ' Clear the objects
    Set objOlMail = Nothing
    Set objOlApp = Nothing
    
End Sub

Best Regards,
Kevin





__._,_.___

Posted by: John Viescas <johnv@msn.com>
Reply via web post Reply to sender Reply to group Start a New Topic Messages in this topic (4)

.

__,_._,___

Tidak ada komentar:

Posting Komentar