I haven't spent to much time on this subject, but from what I've seen, Access will save the name of the last printer that the Report was formatted for during Design time. When the Report is Previewed, it will see if the Current Default Printer is the same as the Printer that was saved with the Report. When they don't match, Access will reset certain things to match the Default printer, as best as it can, like the Margins.
You might try adding this to the Report's OnOpen Event, I haven't tried it... It might work:
- Me.Printer.TopMargin = 0
-
Me.Printer.BottomMargin = 0
-
Me.Printer.LeftMargin = 0
-
Me.Printer.RightMargin = 0