Microsoft Access Club >初心者講座 >永年勤続管理ソフト >このページ >次頁 - 前項


永年勤続管理ソフト--11_帳票レポートの作成_グループ化



前回で「新規作成ウィザード」を用いて、下記のような表形式(帳票形式)のレポートを作成しました。

このレポートは、データを一覧表示させるだけでしたね。

今回は、このレポートを基に目的のデータだけを「グループ」化し表示する方法をご紹介します。このグループ化はレポート独自の機能です。

 レポートのグループ化

まず目的のデータを抽出します。そして、抽出したデータを基にグループ化を行う手順です。一般的に、レポートデータを抽出するということは 、大きく分けて下記のように分類できます。

  • レポートのレコードソースにクエリを配置し、クエリのWhere条件で行う。
  • レポートを開く(印刷、プレビュー)際に、マクロやVBAにWhere条件を記述する。
  • 本講座のように、クエリでデータを抽出し、そのクエリを基にテーブルを作成する。
    そして、そのテーブルをレポートのレコードソースに指定する。

目的のデータを抽出したテーブルは tbl_kinzoku です。このテーブルには、5年から25年まで5年刻みでちょうど永年勤続表彰の対象に該当した社員情報が下記のように納められています。

社員ID 社員名 性別 入社日 対象勤続年数 備考
1 Akira 75/10/1 25 00/10/1
5 高松 一郎 81/3/1 20 01/3/1
7 坂城 祥子 85/4/1 15 00/4/1
8 加藤 幸一 85/8/1 15 00/8/1
9 斎藤 隆 86/1/4 15 01/1/4
10 足立 良子 86/2/1 15 01/2/1
12 中村 幸三 90/4/15 10 00/4/15
13 市村 祐樹 90/12/1 10 00/12/1
14 佐竹 美香 91/3/1 10 01/3/1
15 近澤 涼子 91/3/1 10 01/3/1
16 吉田 武 91/3/1 10 01/3/1
17 田中 陽子 95/4/1 5 00/4/1
18 神田 正之 95/4/1 5 00/4/1
19 佐野 仁美 95/4/15 5 00/4/15
20 池田 超 95/5/1 5 00/5/1
21 藤本 しのぶ 96/1/1 5 01/1/1
22 楓 竜真 96/1/1 5 01/1/1
 仕上げるレポート概要

最終的に仕上げるレポート概要は、下記のように分類されたものです。

各勤続年数ごとにグループ化してデータを表示しています。これが永年勤続年数を基にした「グループ化」です。

 レポートのデザインビュー

では、このレポートをデザインビューで見てみましょう。下記のようになっています。ややっこしい構成ですね…。

じっくり見ていきましょうね。このサンプルでは、レポートヘッダーとレポートヘッダーフッターは敢えて省略しています。これらの作成は、出来上がってからでも遅くはないので後回し ています。

 ページヘッダー
  • 各ページの上位に表示される部分です。この部分に、今回はデータの見出しを配置してみました。複数ページにわたるレポートの場合、データの見出しがある方が見易いですよね。

 対象勤続年数 ヘッダー
  • 今までは、ページまたはレポートのヘッダーが現れていましたが、このようにレポートのレコードソースに配置したテーブルまたはクエリのフィールド名を持つヘッダーは初めてですね。

  • この「対象勤続年数ヘッダー」がゆわゆる グループ化の元 なんです。

 グループ化 と 並び替え

では、下記をご覧ください。

これは、レポートををデザインビューで開き、メニューバーの「表示」にある "並び替え/グループ化の設定" をクリックすると現れるダイアログです。このダイアログでは、グループ化 と 並び替え をフィールド単位で指定できます。

ここでは、「対象勤続年数」でグループ化し並び方は「降順」としています。

次に、「社員ID」の並び方を「昇順」に設定していますが、これはグループ化を行なっていません。なお、グループ化を行なっているフィールドには、フィールド名の左に記号が付きます。

1つのレポート内で、10フィールドまでグループ化を行なうことができます。なお、"並び替え/グループ化の設定"で行った並び替え設定は、レコードソースに指定したクエリフィールドの並び替え設定より優先します。

 グループ化設定

次に、「対象勤続年数」フィールドのグループ化設定を見ていきましょう。

上記ダイアログには、「グループ化設定」というボタンはありません。このところがよく皆さん間違われるところです。

  1. 設定を行うには、グループプロパティにある「グループヘッダー」欄、「グループフッター」欄に"はい"選択します。

  1. "はい"を選択すると自動的にヘッダーまたはフッターが現れます。
  2. "いいえ"を選択すると消えます。
  3. どちらか一方を選択すると、直ちにそのフィールドに「グループ化」が設定されるようになります。
  4. グループ化の設定を行えば、必ずそのフィールドを並べ替え順序を"昇順"、"降順"の何れかに設定して下さい。
  5. また、並び替え順序を設定することにも利用できます。
 グループ化設定の仕上げ

このように設定が行なわれると、レポート内では直ちに該当フィールドにヘッダーまたはフッターが作成されます。

但し、設定を行っただけで完了ではありませんよ。ここもよく皆さん方が間違われるところです。作成者が次に行なうことは、出来上がったヘッダーやフッターにフィールド (主にテキストボックス)を追加しなくてはいけません。

サンプルでは、「対象勤続年数」フィールドにグループ化を設定しましたので、対象勤続年数フッダーに「対象勤続年数」フィールドを持つテキストボックスを移動させて下さい。

この形が、下記のサンプル図です。

ここでは、対象勤続年数フッターも作成し、この部分に"対象者数"の表示を行なっています。

  1. まず、テキストボックスを作成します。
  2. コントロールソースに、="該当者 " & Count([備考]) & " 名" と記述します。
  3. "該当者"と"名"は、単なる文字列で す。""で囲っているだけですよ。
  4. Count関数 を用いて、テキストボックス[備考]の個数を合計してい るだけです。
  5. 文字列と関数とを結びつけるのが、& (アンパサンド)です。これは以前にもお話しましたね。

 留意点

最後に、ここまでの留意点を挙げておきます。

  1. グループ化の特徴は、上記のCount関数の使い方に表れています。
  2. 例えば、フォーム上のフッター類で同じことを行なったとしましょう。
  3. すると、フォームではすべてのテキストボックス[備考]の個数を合計してしまいます。
  4. このレポートでは、対象勤続年数フッターにCount関数を置くことで、クループごとの個数を計算することができるんです。
  5. このような使い方は、レポート独特のものですからよく覚えておきましょうね。

 

では紙面の都合もあり、詳細は次回ということにしましようか。今回はこの辺で失礼します。
 


永年勤続管理ソフト--11_帳票レポートの作成_グループ化


 

-Microsoft Access Club-