How to use code to change a report's printer in Access 2000

Article translations Article translations
Article ID: 208840 - View products that this article applies to.
This article was previously published under Q208840
Advanced: Requires expert coding, interoperability, and multiuser skills.

Expand all | Collapse all

On This Page


You can change the printer for a report or form in two ways:
  • You can change the Windows default printer.
  • You can set the PrtDevNames and PrtDevMode properties.
The information in this article supplements the Microsoft Access Help topic about the PrtDevNames property.


Method 1: Changing the Microsoft Windows default printer

In the Page Setup dialog box, you can select whether forms or reports are printed by either a default printer or a specific printer. If you select a default printer, the form or report is printed to the Windows default printer. If you want to change to another default printer, you must change the Windows default printer.

For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
246772 HOWTO: Retrieve and Set the Default Printer in Windows

Method 2: Setting the PrtDevNames and PrtDevMode properties

The PrtDevNames property stores the name of the printer, and the PrtDevMode property stores the driver information. You need to change both of these properties in order to change the printer driver. If the PrtDevMode property does not match the PrtDevNames property (that is, the PrtDevMode property describes a different driver than the PrtDevNames property) a General Protection (GP) Fault may occur.

To change the printer driver, you must do the following:
  1. Open a form or report in Design view.
  2. Set the PrtDevNames property.
  3. Retrieve and set the PrtDevMode property.
In order to set the PrtDevMode property to the appropriate structure, you must obtain the driver information. You can obtain this information in several ways:
  • Retrieve the information from a previously saved form or report that uses the printer that you want.
  • Call the driver and retrieve the structure. In order to call the driver, you need a separate DLL. This is because you must declare calls to functions in outside files ahead of time and the driver name will not be known. Instead, call a DLL that determines the correct printer driver to call and retrieves the DevMode structure.
  • Use the Windows Print Common Dialog.


For more information about the PrtDevMode and the PrtDevNames properties, click Microsoft Access Help on the Help menu, type PrtDevMode, PrtDevNames in the Office Assistant or the Answer Wizard, and then click Search to view the topic.
For more information, visit the following Microsoft Web site:


Article ID: 208840 - Last Review: August 17, 2007 - Revision: 2.2
  • Microsoft Access 2000 Standard Edition
kbdta kbhowto kbprint KB208840

Give Feedback


Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from