I've done this using 2 command buttons 1 to preview the report and 1 to print directly to the printer. allowing the user to select which they want to do. Copy the code from the preview command button to the print command button and change the following:
Code:
'From:
DoCmd.OpenReport strReportName, acViewPreview
'To:
DoCmd.OpenReport strReportName, acViewNormal
That will print each report direct. To print all of the Reports you would have to do a for next loop within the Case 999 Section as well as build an Array with the report names. I also believe there is a way using for each and the Reports collection but that would print every single report in your DB.
Code:
Case "999"
For lngcnt = 1 to 20
DoCmd.OpenReport reportname(lngcnt), acViewNormal
next lngcnt