5/28/2017

Access。フィールドがないのでクエリで抽出出来ない。そんな時はWhere条件

Access。フィールドがないのでクエリで抽出出来ない。そんな時はWhere条件

<Access Where条件>


Accessのクエリは多岐にわたって、現場で作られるのですが、
希望する条件で抽出する際に知っておきたいテクニックのひとつに、
Where条件】というのがあります。

このWhere条件は、とても有名なのでご存知の方も多いと思いますが、
改めて確認していきましょう。

次のような合計値を算出してあるクエリがあります。

デザインビューで確認してみると、

集計してグループ化してあります。

さて、このクエリなのですが、
全体の合計数値が算出されているので、
例えば、6月だけの合計値だったら?など、
期間合計のクエリを作るとしたらどうしたらいいのでしょうか?

当然、
「日付フィールドを使ってクエリを作ればいいんだろう」と思われますが、

今のクエリに日付フィールドがない。

では、日付フィールドを追加してみると、どうなるのか確認してみると、

データシートビューで確認すると、

内藤さんが複数件表示されてしまっています。

これは、日付フィールドがグループ化されているので、
別々の日ごとで表示されてしまっていて合計されていません。

そして、そもそも日付フィールドは表示されていては困ります。

そこで、クエリで抽出する歳に、
必要なフィールド以外で条件をクエリに追加するためには、
【Where条件】を使うことによって、対応することが出来ます。

では、デザインビューに変えましょう。

集計のグループ化にある▼をクリックして、
一覧から『Where条件』をクリックしましょう。

自動的に表示のチェックマークが外れていますね。

あくまでも、このWhere条件は、表示したいフィールドではないけれど、
期間集計や条件のある集計をするために使うフィールドだからです。

今回は、2017年6月のデータの集計を行ってみたいと思いますので、

抽出条件に、
Between #2017/06/01# And #2017/06/30#
と入力しましょう。

では、データシートビューに切り替えましょう。

このように、グループでWhere条件を使うことによって、
期間で合計を算出するなどの集計抽出をすることが可能になりますので、
Accessのクエリでは知っておきたいテクニックの一つですね。

さて、Accessのクエリを勉強すると必ず登場してくる、
Where条件なのですが、ある出版社さんの基礎編テキストには、
掲載されていて、
もう一方の出版社さんの基礎編テキストには掲載されていないので、

どちらかだけで、勉強しちゃうと、
知る・知らないが出てしまうので、Where条件

是非使えるようにしてみるといいかもしれませんね。