レポートの機能を使って、グループ毎にページ番号とページ数を印刷することができます。レポートでは[Pages]を使って全体のページ数を各ページに印刷することができますが、この 時Accessは全ページを2回スキャンしています。これを利用して1回目のスキャンで各グループのページ数を配列に保存しておき、2回目のスキャンで配列からページ数を取り出してコン トロールに値をセットするのです。
具体的には、レポートに以下のプロシージャを記述してください。そうすれば[ページ数表示]というコントロールに表示されます。注意点として[Pages]をダミーで配置させておくこと です。[ページ数表示]は、ページヘッダ・ページフッタどちらでもOKです。
Option Compare Database
Option Explicit
Dim gps(1000) As Integer 'グループ毎のページ数を保存する配列
Dim i As Integer
Private Sub レポートヘッダー_Format(Cancel As Integer, FormatCount As Integer)
i = 0
End Sub
Private Sub グループフッター0_Format(Cancel As Integer, FormatCount As Integer)
If FormatCount = 1 Then
If Pages = 0 Then gps(i) = Page
i = i + 1
Page = 0
End If
End Sub
Private Sub ページヘッダー_Format(Cancel As Integer, FormatCount As Integer)
If Pages > 0 Then ページ表示 = Page & "/" & gps(i)
End Sub