Okay, I have not done this myself, but I thought it should be possible. Normally, a report is printed to the 'default' printer or you can open the report in preview mode, and the user can select the printer when they print the report.
If you want the user to select a printer first, then obviously you will need a drop-down box listing all the possible printers and then use this property of the report that I have just come across
(From the Access Help Files)
PrtDevNames Property
You can use the PrtDevNames property to set or return information about the printer selected in the Print dialog box for a form or report. Read/write Variant.
It looks very complicated, the first part of the help file entry states
"Remarks
It is strongly recommended that you consult the Win32 Software Development Kit for complete documentation on the PrtDevMode, PrtDevNames, and PrtMip properties.
The PrtDevNames property is a variable-length structure that mirrors the DEVNAMES structure defined in the Win32 Software Development Kit.
Microsoft Access sets the PrtDevNames property when you make selections in the Printer section of the Print dialog box. You can also set the property by using Visual Basic.
Microsoft Access uses the DEVNAMES structure to initialize the Print dialog box. When the user chooses OK to close the dialog box, information about the selected printer is returned by the PrtDevNames property.
©2003 Microsoft Corporation"
I'm not sure why you want to do this, as the user can select and/or change the printer when they right click on the report and select print?