Суть примера в том, что когда формируется отчет, то используя событие форматирования, можно еще до его открытия узнать сколько записей будет в отчете.
Dim cnt As Long ' Число записей
'===============================================================
' Обнуляем информацию по отчету
Private Sub Report_Open(Cancel As Integer)
cnt = 0
End Sub
'===============================================================
' Считаем данные
Private Sub ОбластьДанных_Print(Cancel As Integer, PrintCount As Integer)
Dim rpt As Report
On Error GoTo 999
'Находим в запросе нужную запись
cnt = cnt + 1
Me.CountRpt.Caption = Me.Page "/" cnt
Exit Sub
999:
Err.Clear
End Sub
' Печатаем информацию для каждого колонтитула
Private Sub ВерхнийКолонтитул_Format(Cancel As Integer, FormatCount As Integer)
Me.headpage.Caption = "Страница: " Me.Page "/" cnt
End Sub