|
Hello all,
I have a form in Access XP that returns all printers intalled on the
users system. The select which printer they want to print to and click
a "Next" button. The button click event runs the code at the bottom of
this page to open a number of reports, change the printer to the one
the user specified, save and close, then print the reports. The code
does everything but save the printer, so the report prints to whatever
printer was previously saved in the report.
This code runs fine if run directly within the module, but when it's
fired from a click event in a form it doesn't.
I have repaired and decompiled, any other thoughts? Thanks in advance
for any advice you may have.
code:
Public Sub sChangePrinter(strReport As String, strDeviceName As String,
Optional strOrientation, Optional strPaperSize)
Dim rpt As Report
DoCmd.OpenReport strReport, acViewPreview
Set rpt = Reports(strReport)
rpt.Printer = Application.Printers(strDeviceName)
rpt.Printer.Orientation = strOrientation
rpt.Printer.PaperSize = strPaperSize
DoCmd.Close acReport, strReport, acSaveYes
rpt.Printer = Application.Printers(strDeviceName)
rpt.Printer.Orientation = strOrientation
rpt.Printer.PaperSize = strPaperSize
DoCmd.Close acReport, strReport, acSaveYes
DoCmd.OpenReport strReport, acViewNormal
End Sub |