Private Sub MyButton_Click()
Dim defPrinter As String, NewPrinter As Printer
'Get the default printer name
defPrinter = Application.Printer.DeviceName
'Create a new printer object
Set NewPrinter = Application.Printers("MyPrinter") 'use your printer name here
'Set the default printer to the new printer
Set Application.Printer = NewPrinter
'Open the report
DoCmd.OpenReport "MyReport", acViewNormal 'use your actual report name here
'Print the report (the next line seems to print the report and the form so I removed it, if your report doesn't print then remove the apostrophe on the next line)
'DoCmd.PrintOut
'Close the report
DoCmd.Close acReport, "MyReport", acSaveNo 'report name again!
'Reset the printer back to the default printer
Set NewPrinter = Application.Printers(defPrinter)
Set Application.Printer = NewPrinter