I'd probably go with what was linked in post 9 but you could go with calculated controls:

and then code like this in a standard module
Code:
Option Compare Database
Option Explicit
Public ctr As Integer
Private Sub PrintTickets()
ctr = 1
Do Until ctr = 6
DoCmd.OpenReport "rptStackedTicket", acViewPreview '<< open normal instead so that it just prints out
ctr = ctr + 1
DoCmd.Close acReport, "rptStackedTicket"
Loop
End Sub
and this in the report Load event
Code:
Private Sub Report_Load()
Me.txt1 = ctr
MsgBox "printing page " & ctr
End Sub
With that method, you might experience screen flicker and opening/closing a report in a loop is not the most efficient thing to do. Opening hidden might eliminate any flicker you might get, but again, if the report was opened based on a table, you'd open it once and have a break (section or page) below the bottom controls.
EDIT - I might add that the above works (except I chose not to actually print the pages). Also, in the 1st set of numbers in post 11, 15 would be 16 and in the 2nd set, 16 would be 17. I took it that the sequences were not correct.