MS Access

もう何度もAccessの集計クエリの作成をミスって怒られている

投稿日:2013年7月4日 更新日:

私が悪い。反省。

自戒のメモ。

Accessの集計クエリに条件を加えたい場合、その条件をどこに書くかによって結果が全く違ってくる。

全画面キャプチャ 20130704 174616

それをわかってはいるのだが・・・最大やら演算やら、細かいことを同時にしたい場合、私の馬鹿が露呈し、間違ったものを作ってしまう。

ポイントは、集計クエリでは、仮にテーブルに含まれる顧客IDが10件あったとして、
1.それが集計クエリのWhere条件以外(!)の条件を使ってまとめられ、
2.結果がさらにWhere条件に記した条件で抽出される・・・
・・・という流れになる。これが頭にしっかり入っていればいいのだが、なぜか身につかない。

全画面キャプチャ 20130704 172949

つまり、画像上のクエリでは、Where条件がないので、住所既定にTrueがセットされたレコードの住所を期待しても、同じ顧客IDではあるが、全く違うレコードの一部をつまんで1つに作り替えてしまうので、違う住所になる可能性が出てくる。
スロットマシンみたいに・・・ああ。

-MS Access

執筆者:

関連記事

no image

Accessで実行時エラー’2465′ 指定した式で参照されている’txt区分’フィールドが見つかりません

VBAでフォームをMe.RecalcあるいはMe.Requeryしただけで、タイトルのエラーが出るケースに遭遇。F9キーを押すと同じ動作になるはずだが、キー押下では上記エラーは出ず、不思議。 ネット検 …

no image

AccessでIN演算子をクエリの抽出条件に使うのに苦労

やりたいこと: 非連結のチェックボックスでレコードを選択する – hatena chips ・・・のようなこと。 ・フォームのテキストボックスに、’354942-0007474 …

no image

ExcelからAccessの外部データの取り込みでトラブル

ExcelからAccessのクエリを使いたいとき、データ接続途中の「テーブルの選択」ウィンドウに、使いたいクエリが表示されない。 ウィンドウ内には、Accessにあるはずのクエリがあったりなかったり。 …

no image

Accessで DoCmd.RunSQL を CurrentDb.Executeにしたら、1秒高速化した

処理が遅いので速くして欲しいとの要望があったので、コードを調査。 DoCmd.RunSQL を CurrentDb.Execute に置き換えると非同期で実行されるとの情報を得たので、試す。 結果、6 …

no image

Accessでレコードコピー(オートナンバー除く)の決定版のコード!

Accessで、レコードのオートナンバーを除くフィールドを1行、複製(コピー)したくって、Google検索したのだけどなかなか出てこず、しかしやっと見つけた、黄金のソース・・・・。 [VBA] ADO …