パソコン教室・IT資格マイクロソフトOffice(オフィス)使い方講座Accessレッスンノート Accessの多段集計

Accessの多段集計

Access(アクセス)使い方講座のレッスンノート

レッスンノートって?レッスンノートって?

体験レッスンを受講していただきありがとうございました。
現在扱っておられる販売管理のExcelデータを、Accessに移して多段集計を行いたいとのことでした。
小計、中計、大計といった多段集計は、AccessよりもExcelの「小計」機能を使う方が簡単ですが、データ量と出力デザインの自由度を考えるとAccessの方がよい場合も多いと思います。
ただ意外なことですが、Accessの多段集計はAccessの主機能であるクエリを使って行うことはできません。クエリにその機能がないというより、クエリによって作成されるSQLというデータベース処理言語にその機能がないためです。(Accessクエリというのは、このSQLを簡単に書くためのユーティリティです。)
そもそもSQLでは多段集計どころか、データ明細行と集計行を同時に出力する機能がありません。そのためそれを実現するには、明細行と集計行を出力するSQL文を2つ作成して、それらをUNIONあるいはUNION ALLという演算子で結合するという方法を使います。したがって明細、小計、中計といったことを実現するためには、複数のSQL文が必要になるということです。
そしてAccessクエリはただ1つのSQL文を生成するものですので、このため、クエリでは複数レベルの集計や、明細と集計の同時出力を行うことができないのです。
このような事情でAccessクエリを使っての多段集計は手間がかかるのですが(複数のクエリをつなぎ合わせるクエリを作成すれば可能です)、Accessにはクエリを使わない集計機能がフォームとレポートに用意されています。フォームでは一段集計しかできませんが、レポートでは多段集計ができるようになっています。
1つのテーブルあるいはクエリを基にしたレポートで多段集計を行うのは、その方法さえ知っていれば難しいことはありません。ポイントは集計ヘッダと集計フッタを集計レベルに応じてうまく組み合せること、改ページ指定を適当なフッターに指定するといったことです。

今回は、上記の目的を実現したいというご要望でしたので、Accessそのものの機能的特徴などについては、レッスンの終わりにごく簡単にお話しさせていただいたにとどまりました。
データ処理に関してAccessがExcelよりも便利とは限らないのですが、Accessでなければ適切に処理できない種類のデータも多くありますので(実はこちらの方が多いのですが)、現在Excel VBAを使っておられるのと同じ程度にAccessとAccessVBAを使えるようになれば、さらに次の段階のデータベース処理にも進んでいけますので、ぜひ両方を使いこなせるようになることをお勧めします。
このレッスンノートを書いたコーチ

重要な操作を効率よくレクチャー。データベースの基礎~VBAまで

AccessPro大親切スクール
星加弘文 (Access)

渋谷・新宿・分倍河原・吉祥寺・笹塚・明大前・下高井戸・千歳烏山・調布・府中・下北沢・...

レッスンノート ページ先頭へ