Felix
I couldn't find the Knowledge Base article, and am no longer sure where I found the code when I wanted to do it. But I did manage to find my old program where I had done this originally.
Again, your first step is to make up a form that drives the report. On the form will be only 2 things. One will be an unbound text box in which you can put the # of copies you wish of each record. The second will be a command button to open the report, in either Preview or Print mode whichever you wish. The last piece goes on the Open event for the report.
Then here is the code for your report. You will see that the first 2 lines go at the top of your coding, just under Option Explicit. The next piece goes on the Print event for your Detail section.
Dim intPrintCounter As Integer
Dim intNumberRepeats As Integer
Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
' Note: intNumberRepeats and intPrintCounter are initialized
' in the report's OnOpen event.
If intPrintCounter < intNumberRepeats Then
intPrintCounter = intPrintCounter + 1
' Do not advance to the next record.
Me.NextRecord = False
Else
' Reset intPrintCounter and advance to next record.
intPrintCounter = 1
Me.NextRecord = True
End If
End Sub
Private Sub Report_Open(Cancel As Integer)
intPrintCounter = 1
intNumberRepeats = Forms!frmPrintReport!Text0
End Sub
One thing...I haven't worked this out so you can print the page # on, as you wished. You will have to play around with that. My report didn't have any page headers or footers, as the records were going on a pre-printed form.
Good luck. Hope this helps point you in a good direction.
Tom