Accessのレポートで、グループ単位のページ数を表示したい。
Accessのレポート機能は、集計した上で印刷できますので、WordやExcelより便利に使える場合も多くあります。 そのレポート機能には、ページ数を表示する機能はあるのですが、これがグループ単位での改ページ等を行う際にも、レポート全体のページ数を表示する機能しかありません。 これを実現するためには、少し手間ですが、Visual Basicで、標準のページカウントを書き換えてあげる必要があります。 |
||
|
||
【前提知識】 Accessのレポートでは、コントロールソースに「=[Pages]」が指定されたテキストボックスが配置された場合には、一度、ページ全体をスキャン(フォーマット扱いになりますので、フォーマットのイベントが発生します。)し、ページ数を確認した上で、印刷用のフォーマットを実行します。 この最初のスキャン(1回目のフォーマット)で、グループごとのページ数を格納し、2回目のフォーマットでページ数を表示します。 |
||
|
||
準備として、レポートのページヘッダーに、2つのコントロールを追加します。 ・テキストボックス「ページカウント」 コントロールソースに「=Pages」を設定 可視に「いいえ」を設定 ・テキストボックス「ページ表示」 見た目を整えるだけで、コントロールソース等の設定は不要です。 コントロールを配置したら、Visual Basic Editorを起動し、該当レポートのコードに下記の記述を追加します。 |
||
|
||
|
||
|
||
以上の記述を行えば、各セクションのイベントに登録されると思います。 ※念のため、各セクションのプロパティから、フォーマットイベントに「[イベント プロシージャ]」が設定されていることを確認しましょう。 |