Microsoft Access Club >SampleFile >インデックス >このページ >次頁 < 前項  サイト内検索


クロス集計クエリのWhere条件抽出_1:SampleFile039



フォームのテキストボックス及びコンボボックス等を利用して、クロス集計クエリの行又は列フィールドにWhere条件を設定した場合、下記のようなメッセージが表示されクエリが実行されません 。
選択クエリでは問題なかったのに何故なんだろうか。このような経験を皆さん一度はお持ちではないですか?

クロス集計クエリでは、チョット対応が異なるんです。また、選択クエリを元にクロス集計を作成し、Where条件を元の選択クエリに設定しても結果は同じです。

クロス集計の作成手順とWhere条件の設定手順

クロス集計の作成からWhere条件の設定までを順を追ってご紹介します。

  1. 下記のようなテーブルを作成します。
ID 購入者 商品名 個数
1 八郎 TV 1
2 八郎 Radio 1
3 勘三郎 Ball 10
4 八郎 Ball 12
5 勘三郎 TV 1
6 真由美 Radio 2
7 真由美 Ball 6
  1. クロス集計クエリ qry_sample_cross_2 を作成します。
  2. 抽出を実行するフォーム frm_sample_2_1 を作成します。
  3. 集計欄にWhere条件、抽出条件欄にfrm_sample_2_1フォームの選択テキストボックスを指定します。

動作確認

  1. フォーム上のコマンドボタンを用いてクエリを開きます。
  2. 下図のようなエラーメッセージが表示されます。

クエリパラメータダイアログを用いたエラー回避方法

  1. クロス集計クエリをデザインビューで開きます。
  2. メニューバーのクエリからパラメータをクリックします。
  3. クエリパラメータダイアログが表示されます。
  4. パラメータ欄に[Forms]![frm_sample_2_1]![選択]を記述します。
  5. データ型欄にテキスト型を記述します。

  1. クロス集計クエリを元にフォームを作成します。
  2. 購入者「真由美」をコンボボックスで選択します。
  3. フォームを開きます。
  4. 下図のようにTV欄でエラー #Name が発生します。
  5. これの対処方をは、次回に行います。

解説
  1. パラメータ欄に[Forms]![frm_sample_2_1]![選択]、データ型欄に「購入者」フィールドと同 じデータ型であるテキスト型を記述します。 クエリの抽出条件に記述した条件式をパラメータクエリに同じく記述することで正常に動作します。

関連ページ

ページの先頭へ 前ページへ戻る

 


クロス集計クエリのWhere条件抽出_1:SampleFile039


 

-Microsoft Access Club-