Option Compare Database
Option Explicit
Type zwtDevModeStr
RGB As String * 94
End Type
Type zwtDeviceMode
dmDeviceName As String * 16
dmSpecVersion As Integer
dmDriverVersion As Integer
dmSize As Integer
dmDriverExtra As Integer
dmFields As Long
dmOrientation As Integer
dmPaperSize As Integer
dmPaperlength As Integer
dmPaperWidth As Integer
dmScale As Integer
dmCopies As Integer
dmDefaultSource As Integer
dmPrintQuality As Integer
dmColor As Integer
dmDuplex As Integer
dmResolution As Integer
dmTTOption As Integer
dmCollate As Integer
dmFormName As String * 16
dmPad As Long
dmBits As Long
dmPW As Long
dmDFI As Long
dmDRr As Long
End Type
Function fnPrintReport_with_PaperSource(rptName As String,iTray as integer)
Dim rpt As Report
Dim dm As zwtDeviceMode
Dim DevString As zwtDevModeStr
Dim DevModeExtra As String
DoCmd.SetWarnings False
' Set Paper Tray for page 1
DoCmd.OpenReport rptName, acViewDesign
Set rpt = Reports(rptName)
DevModeExtra = rpt.PrtDevMode
DevString.RGB = DevModeExtra
LSet dm = DevString
dm.dmDefaultSource = iTray '1 = Upper Tray, 2 = Lower Tray, 5 = Envelope Feeder
LSet DevString = dm
Mid$(DevModeExtra, 1, 68) = DevString.RGB
rpt.PrtDevMode = DevModeExtra
DoCmd.Save acReport, rpt.Name
DoCmd.OpenReport rptName, acViewNormal ' print it out
DoCmd.SetWarnings True
End Function