Printing multiple copies of an Access report is a simple task and easy to automate using the PrintOut method.
DoCmd.PrintOut printrange, pagefrom, pageto, printquality, copies, collatecopiesAs you can see, the fifth argument is copies; specify the number of copies using this argument. For instance, the following statement opens and prints four copies of a report named Invoices:
DoCmd.OpenReport "Invoices", acViewPreview
DoCmd.PrintOut , , , , 4If the report is already open, make sure it's current before printing, as follows:
DoCmd.SelectObject acReport, "Invoices", True
DoCmd.PrintOut , , , , 4If you want to print only one copy, you can do so immediately from the OpenReport method by changing acViewPreview to acViewNormal, as follows:
DoCmd.OpenReport "Invoices", acViewNormalThis statement will send the Invoices report directly to the printer. If users need more flexibility, create a print form that captures page numbers and copy count and pass those values to the report via the OpenReport method.