Article ID: 200546
Article Last Modified on 6/23/2005
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
Sub setPaperSource(rptName As String)
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, acDesign
Set Rpt = Reports(rptName)
DevModeExtra = Rpt.PrtDevMode
DevString.RGB = DevModeExtra
LSet dm = DevString
dm.dmDefaultSource = 2 '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.SelectObject acReport, Rpt.Name, True
DoCmd.PrintOut acPages, 1, 1
' Set Paper Tray for page 2
DoCmd.OpenReport rptName, acDesign
Set Rpt = Reports(rptName)
DevModeExtra = Rpt.PrtDevMode
DevString.RGB = DevModeExtra
LSet dm = DevString
dm.dmDefaultSource = 1 '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.SelectObject acReport, Rpt.Name, True
DoCmd.PrintOut acPages, 2, 2
DoCmd.SetWarnings True
End Sub
setPaperSource("Invoice")
Note that the first two pages of the Invoice report print. The first page prints from the lower tray and the second page prints from the upper tray.Additional query words: printing
Keywords: kbhowto kbprint KB200546