You are opening the report twice! Two lines of code starting with DoCmd.OpenReport
.
The first time the View
parameter is set to acViewPreview
so it shows up (=previews) on the screen without printing. The second time the View
parameter is set to acNormal
(= no preview) so it prints directly to the printer without showing on the screen.
BTW The second time you are printing all the records because the criteria are not sent!
Remove the second Docmd.OpenReport...
. It is unnecessary and is what is causing your problem.