#322 ページごとの合計値を印刷するには? レポート

レポートで合計値を印刷するには、「Sum関数」をコントロールソースとするテキストボックスを配置するだけですが、Accessの仕様上、ページヘッダーやページフッターでそういった集計用関数を使うことはできません。

ページフッターに合計値を印刷するための手段としては、VBAを使って1行ずつの累計値を計算していく方法もありますが、ここではコントロールのプロパティ設定だけを使った方法を紹介します(ヘッダーに関しては下記方法でも不可です)。

それには、次のような手順でレポートのデザインを行います。
  1. レポートの詳細セクションにテキストボックスを配置します。

  2. そのテキストボックスのコントロールソースプロパティに、合計値を印刷したいフィールド名を設定します。たとえばもし「売上金額」の合計値を印刷したい場合であれば、コントロールソースを"売上金額"とします。
    ※したがって、新規にテキストボックスを挿入するのではなく、各行で「売上金額」を出力するためのテキストボックスを複製してもかまいません。

  3. 続いて、そのテキストボックスの「集計実行」プロパティを"全体"に設定します。 これによって、そのテキストボックスには各行の"累計値"が印刷されるようになります。
    ※このプロパティについては、「#140 レポートに各行の累計を出力する方法」も参考にしてみてください。

  4. そのテキストボックスの名前を設定します。別にデフォルトのままでもかまわないのですが、ここでは説明として"売上金額累計"という名前に変更するものとします。

  5. そのテキストボックスの「可視」プロパティを"いいえ"に設定し、値自体は印刷されないようにします。ただし、累計値もいっしょに印刷したければ、"はい"のままでもかまいません。

  6. 次に、ページフッターに合計値を印刷するためのテキストボックスを配置します。

  7. そのテキストボックスのコントロールソースプロパティに、上記の累計値算出用のテキストボックスを指定します。上記の例では、次のような算式とします。
       =[売上金額累計]

  8. 必要に応じて、ページフッターに配置したテキストボックスの「書式」プロパティを設定します。

要するにこの方法は、そのページの最後の行(詳細セクション)で集計実行プロパティによって算出された値をページフッターのテキストボックスに代入するというものです。


デザイン例:
デザイン例


実行例:
実行例

実行例
上図では、仕組みを分かりやすくするため、累計用テキストボックスは可視状態にしています。
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved