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

Cole100IT Systems ManagerAsked:
Who is Participating?
 
shaydieConnect With a Mentor Commented:
Hi Cole,

I'm guessing that something like this should work.. edited code below:

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 attachPDF As String
    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")
       
    path = "c:\temp\"
    docname = "emailcap_mtd"
    attachPDF = path + docname & ".pdf"
    subject = "Email Address Capture Report"
    body = "Daily Report is Attached"
    DoCmd.OutputTo acOutputReport, docname, acFormatPDF, attachPDF
     
    '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
    Set RS = Nothing
    Set mydb = Nothing
 
exit_send_click:
     
    Application.Echo True
    Exit Function
 
Err_Send_Click:
    Resume exit_send_click
     
End Function
0
 
shaydieCommented:
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

0
 
Luke ChungPresidentCommented:
The syntax for the constants "A_" come from Access 2.0 days.

0
 
Cole100IT Systems ManagerAuthor Commented:
Can you help me out with where to place this piece of code. I am having no luck on getting this to works. Thanks
0
 
Luke ChungPresidentCommented:
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?
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.