Link to home
Start Free TrialLog in
Avatar of Cole100
Cole100Flag for United States of America

asked on

Access PDF orientation issues after upgrade from 2007 to 2010

After upgrading to Access 2010 when my module converts to PDF it puts all reports in landscape rather than portrait. I have checked all the settings in Access and everything shows to be in the proper portrait settings. I am using a 3rd party module to do this conversion. Looking around online it looks like Access now has a built in PDF converter. If this is the case, can someone please help me with the new piece of code.
Option Compare Database
Function send_emailcap_mtd()
   On Error GoTo Err_Send_Click

    Dim mydb As Database, RS As Recordset
    Set mydb = DBEngine.Workspaces(0).Databases(0)

    Dim docname As String, ctl As Control, strTo As String
    Dim path As String, subject As String, body As String
    Dim attach As String, blnSuccessful As Boolean
        

    Application.Echo False
    'Get all the email addresses  for the daily stat report
    Set RS = mydb.OpenRecordset("qry_emailcap_mtd")
       
    'Report to run and make a snapshot of the report and put it on the server
    path = "c:\temp\"
    docname = "emailcap_mtd"
    subject = "Email Address Capture Report"
    body = "Daily Report is Attached"
    attach = path + docname + ".rtf"
    'DoCmd.OpenReport docname, A_PREVIEW
    DoCmd.OutputTo acOutputReport, docname, acFormatRTF, _
    attach, False
    
'start of pdf change
    Dim blRet As Boolean
    Dim attachPDF As String
    attachPDF = path + docname & ".pdf"
    ' Call our convert function
    ' Please note the last param signals whether to perform
    ' font embedding or not. I have turned font embedding ON for this example.
      blRet = ConvertReportToPDF(docname, vbNullString, _
      attachPDF, False, True, 150, "", "", 0, 0, 0)
    ' To modify the above call to force the File Save Dialog to select the name and path
    ' for the saved PDF file simply change the ShowSaveFileDialog param to TRUE.
'end of pdf change
    
    'This loops through all of the email addresses and sends the report to everyone
    Do Until RS.EOF
      strTo = RS!Email
       'Old format for sending reports with warnings
       'DoCmd.SendObject A_REPORT, docname, A_FORMATTXT, strTo, , , "Daily Stat Report", , False
       'New way of sending reports without warnings

'       blnSuccessful = FnSafeSendEmail(strTo, subject, body, attach, "", "")
       blnSuccessful = FnSafeSendEmail(strTo, subject, body, attachPDF, "", "")
       RS.MoveNext
    Loop
    'Clean up process
    RS.Close
    DoCmd.Close A_REPORT, docname
    Set RS = Nothing
    Set mydb = Nothing

exit_send_click:
    
    Application.Echo True
    Exit Function

Err_Send_Click:
    Resume exit_send_click
    
End Function

Open in new window

Avatar of shaydie
shaydie

To output to a PDF using built-in functionality
Output your report to strPath and attach to email...

strPath = "c:\mypath\DailyRpt-" & fDate & ".pdf"
DoCmd.OutputTo acOutputReport, "Report", acFormatPDF, strPath

Avatar of Luke Chung
The syntax for the constants "A_" come from Access 2.0 days.

Avatar of Cole100

ASKER

Can you help me out with where to place this piece of code. I am having no luck on getting this to works. Thanks
I haven't seen situations where the report is in one mode and the PDF comes out in another. Are you experiencing this problem when you generate the PDF interactively from previewing the report?
ASKER CERTIFIED SOLUTION
Avatar of shaydie
shaydie

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial