Tom:
1.) If you are using Access 2000, then make sure that you've installed all
the service releases for that version as the problem you are experiencing is
a known bug that was fixed in Service release 1.
2.) Notwithstanding that, make sure that all your reports are set to use the
default printer. Normally they will hold their layout with the exception
of if they are opened in preview and then the user uses the File -> Print
command and brings up the print dialog and switches printers the report,
when the new printer is selected will "assume" the default layout of the
newly selected printer. This is an historic Access report issue as you've
found.
The work around is to create on any form where you have a command to preview
or print a report your own printer selection combo where the user selects
the printer before previewing, and then you set the default printer via code
based on that selection. When this method is used (i.e. not using the
Access print dialog, with the report set to use the default printer) then
Access will maintain the report's specified settings when it is previewed
and printed. Normally when you do this, you have to create a custom
toolbar and menu for your reports that eliminates the Print functionality so
that it is only controlled from your form (so the user can't access the
print dialog.)
3.) If you don't want to code this all out yourself, you might look at our
"On the Fly Printing" code and classes. It provides two classes for
printing reports, one providing access to the print dialog which will retain
a report's layout, and a second that will allow you to create the combo box
and set default printers like was discussed in item 2 above. You'll find it
on our web.