レポートでページ毎の合計を表示する

 レポートにはグループごとの集計を行う機能があります。しかしページ番号に基づいてグループ化することはできず、基本的にページごとの集計を行うことができません。そこをなんとか通常の設定で実現してみます。
 ただし若干面倒ですのでVBAでやった方がスマートかと思います。

f:id:accs2014:20170827070636p:plain:right:w500

 このようなレポートを用います。
 数字が2つありますが、左側が「市町村コード」列、そして右側の数字「人口」列です。合計するのは「人口」です。ラベル表示を忘れましたスミマセン;-o-)
 緑色の部分はページヘッダーとページフッタ―です。


f:id:accs2014:20170827070633p:plain:right:w250

 デザインビューでグループ化の設定を行います。
 選ぶのは列名ではなく「式」です。


f:id:accs2014:20170827070630p:plain:right:w500

 そして「="ダミー"」と入力します。


f:id:accs2014:20170827070624p:plain:right:w500

 このグループ化について、市町村コードによる並べ替えより順位を上にします。
 また、区別のため、このセクションに色をつけます(青)。


f:id:accs2014:20170827070617p:plain:right:w500

 このセクションのプロパティを開き「セクション繰り返し」を「はい」にします。


f:id:accs2014:20170827071255p:plain:right:w500

 そして、各セクションに以下の計4つのテキストボックスを設けます。


その1:ページヘッダー内のテキストボックス

名前:ページ初人口
コントロールソース:=[人口]
集計実行:しない

その2:「="ダミー"ヘッダー」内のテキストボックス

名前:前ページ末人口
コントロールソース:=[累計]-[ページ初人口]
集計実行:しない

その3:詳細セクション内のテキストボックス

名前:累計
コントロールソース:=[人口]
集計実行:全体

その4:ページフッタ―内のテキストボックス

名前:ページ合計
コントロールソース:=[累計]-[前ページ末人口]
集計実行:しない


f:id:accs2014:20170827070734p:plain:right:w500

 印刷プレビューの1ページ目です。
 1ページ目ですので、ページ合計(右下)は累計と一致しますが…


f:id:accs2014:20170827070728p:plain:right:w500

 次の2ページ目です。
 ここではページ合計が、このページの人口の合計である247652を示しているのがわかります。
 少しだけ補足ですが、ダミーのヘッダーとページヘッダーでは、詳細セクションのコントロールを参照した際に取得できる値の内容が若干異なっており、これらを使い分けることがポイントとなっています。