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

VBAで忘れてしまっていたことと、知らなかったこと

STOPステートメント: ブレークポイントを設定しないでもその行でコード処理を止めることができるので、Access終了->Access起動といったシチュエーションで使える。 Randomizeステート …

Accessで複数レコードを1レコードにまとめる(運送会社送り状作成のため

Accessに入れてある楽天の注文データをもとに、運送屋さんの送り状伝票を作ろうと思い立った。 しかし、楽天の注文データは、同一の受注番号で複数の商品に分かれている。 例えば一人の人が3点買い物をした …

Accessのオブジェクトをデスクトップに作っておくと超便利

結構、知らない人が多いんじゃないかな。 クエリとか、フォームへの直接のリンクを、PCのデスクトップに作れること。 ユーザーがたくさんいて、その中の一部の人には、閲覧はして欲しいけど、編集はして欲しくな …

no image

フォーム テンプレート

Accessのフォームを作るときに、「フォーム テンプレート」を使う方法があること、知っている人は多いのかな? 既存のフォームにあるテキストボックスの色やサイズなどの設定(プロパティ)を引き継いで、新 …

no image

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

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