クロス集計クエリをグラフ表示させるには

フォームのグラフウィザードを使用して、フォーム上にクロス集計クエリをグラフ表示する方法を解説します。ここでは、Access 2000に添付されている Northwind,mdb を使用して商品区分別売上高のグラフを作成する手順を紹介します。

ステップ1:グラフ表示するためのクロス集計クエリを作成

  1. Access 2000を起動して Northwind.mdb を開きます。 Northwind.mdbは、通常 C:\Program Files\Microsoft Office\Office\Samples にインストールされます。

  2. データベースウィンドウが表示されたらクエリタブをクリックして新規作成ボタンをクリックします。

  3. クエリの新規作成ダイアログが表示されたら、一覧からデザインビューを選択してOKをクリックします。

  4. テーブルの表示ダイアログが表示されたら、クエリタブをクリックして、クエリの一覧からqry95年商品区分別売上高を選択して追加ボタンをクリックします。閉じるのボタンをクリックしてダイアログを閉じます。

  5. クエリのデザインビューが表示されたら、メニューから▼のアイコンをクリックしてクロス集計に変更します。

  6. クエリの一覧から区分名をドラッグして、行見出しを選択します。フィールドの先頭にカテゴリー: を付加して別名を指定します。

  7. クエリの一覧から出荷日をドラッグして、列見出しを選択します。フィールドに下記の式を入力して、列見出しに月名が表示されるようにします。

    式1:Format([出荷日],"m月") or
    式1:Format([出荷日],"m") & "月"

    Tip:
    Access 2000で MonthName()関数が追加されましたが、式1でMonthName()を使用すると関数が見つかりませんのエラーが発生します。回避策として、Format()にて代用しました。


  8. クエリの一覧から金額をドラッグして集計カラムに合計、行列の入れ替えカラムにを設定します。

    図1-グラフ作成用のクロス集計クエリ


  9. クエリ上部の空き領域をダブルクリックして、クエリプロパティを表示させます。クエリ列見出しに1月、2月、.....12月の順に表示されるように月名を入力します。


    図2-クエリのクエリ列見出しのプロパティに月名を入力

    Tip:
    決算が3月の場合、売上高が4月から3月の順に表示されるように、クエリ列見出しを4月、5月.....12月、1月、2月、3月の順に指定します。出荷日の範囲も Between #95/03/01# And #96/04/30# のように変更する必要があります。

  10. このクエリを qry95年商品区分別売上高クロス集計 の名称で保存します。

  11. メニューから実行アイコンをクリックして結果を表示します。


    図3-グラフ作成用クロス集計クエリの実行結果



  12. フォーム(frm95年商品区分別売上高)をデザインモードで開きます。グラフを選択してプロパティを表示させます。データタブをクリックして、値集合ソース(Row Source)に項番10で保存したクエリ(qry95年商品区分別売上高クロス集計)を指定します。


  13. グラフのX軸に商品区分名、凡例に月名が表示されますので置換します。グラフをダブルクリックしてGraph9のOLE Serverを起動させます。データメニューから系列を行方向に定義をクリックして、X軸に月名、凡例に区分名が表示されるようにします。

    図4-クロス集計クエリをグラフ表示させた例(このグラフはフォームと非連結)



  14. フォームを frm95年商品区分別売上高クロス集計 の名称で保存します。






ステップ2:グラフウィザードを使用してフォームと連結したグラフ作成

  1. フォーム(frm95年商品別売上高クロス集計)をデザインモードで開きます。フォームの空き領域をクリックしてからプロパティを開きます。

  2. フォームのプロパティ表示させたら、データタブをクリックしてレコードソース(Record Source)のコンボボックスからqry95年商品区分別売上高クロス集計を選択します。これでフォームは、クロス集計クエリと連結したことになります。レコードを移動できるように、書式タブをクリックして移動ボタンはいに設定します。

  3. フォームのグラフを選択して、プロパティを表示させます。データタブをクリックして値集合ソース(Row Source)が、qry95年商品区分別売上高クロス集計になっているか確認します。リンク子フィールド(Link Child Fields)とリンク親フィールド(Link Master Fields)にカテゴリーを入力します。

    これで、フォームとグラフが連結されたことになります。

    図5-リンク子フィールドとリンク親フィールドにカテゴリーを入力してフォームとグラフを連結する


  4. フォームをビューモードに切り替えてグラフを表示させます。図4では、全ての商品区分が表示されていますが、図6では、カレントレコードの商品区分のみ表示されています。
    図6-フォームとグラフを連結させた例


  5. グラフの凡例(商品区分名)をグラフタイトルの下に移動して見易くします。フォームをデザインモードに切り替えたら、グラフを選択してダブルクリックします。Graph9 OLE Serverが起動されたら、凡例をクリックしてサイズハンドラーをドラッグしながらフレームを小さくします。次に、凡例をドラッグして、グラフタイトルの下に移動します。凡例をダブルクリックして書式設定のダイアログを表示します。パターンタブをクリックしたら、輪郭なしにします。

    折れ線をダブルクリックして、データ系列の書式設定を表示します。パターンタブをクリックしたら、指定にして太さを少し太めにします。


  6. フォームをビューモードに切り替えて、グラフを表示させます。レコード移動ボタンをクリックすると、商品区分毎にグラフが再作成されます。

    図7-レコードを移動すると商品区分毎にグラフが再作成されます


  7. フォームを frm95年商品区分別売上高クロス集計連結グラフ の名称で保存します。

 


Tip:
グラフウィザードを使用してAccessのフォームに作成したグラフを電子メールで送信することも可能です。詳細は、Accessのフォームに表示されたグラフを電子メールで送信するには を参照してください。