Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

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


View products that this article applies to.

Summary

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.

↑ Back to the top


More information

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.

↑ Back to the top


References

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:

↑ Back to the top


Keywords: KB208840, kbprint, kbhowto, kbdta

↑ Back to the top

Article Info
Article ID : 208840
Revision : 4
Created on : 8/17/2007
Published on : 8/17/2007
Exists online : False
Views : 349