Das geht hiermit (allerdings nicht in MDE-Datenbanken):
Private Type str_DEVMODE
strGZF As String * 94
End Type
Private Type type_DevMode
strDeviceName As String * 16
intSpecVersion As Integer
intDriverVersion As Integer
intSize As Integer
intDriverExtra As Integer
lngFields As Long
intOrientation As Integer
intPaperSize As Integer
intPaperLength As Integer
intPaperWidth As Integer
intScale As Integer
intCopies As Integer
intDefaultSource As Integer
intPrintQuality As Integer
intColor As Integer
intDuplex As Integer
intResolution As Integer
intTTOption As Integer
intCollate As Integer
strFormName As String * 16
lngPad As Long
lngBits As Long
lngPW As Long
lngPH As Long
lngDFI As Long
lngDFr As Long
End Type
Public Function SetDefSource(RepName, Optional DefS = 1)
On Error GoTo Er
Dim dm As str_DEVMODE, DeviceMode As type_DevMode
Application.Echo False
DoEvents
DoCmd.OpenReport RepName, acDesign
If Not IsNull(Reports(RepName).PrtDevMode) Then
dm.strGZF = Reports(RepName).PrtDevMode
LSet DeviceMode = dm
DeviceMode.intDefaultSource = DefS
LSet dm = DeviceMode
Reports(RepName).PrtDevMode = dm.strGZF
End If
DoCmd.Close acReport, RepName, acSaveYes
Ex:
On Error Resume Next
Application.Echo True
Exit Function
Er:
MsgBox "SetDefSource: " & Err.Description
Resume Ex
End Function
Reinhard
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]