先日、友人と話をしていてMicrosoft AccessはExcelと違って、IF式のような分岐条件が設定できないから不便だという話を受けました。
出来るっちゅーねん!
と言ったら非常に驚いていたので、優秀な友人でもちょっとマイナーなジャンルになると判らないんだなーと思いました。
そういうわけで、このブログではAccessを中心に仕事上で困ったことやつっかえそうなことを残していこうと思います。
IIf関数とは
条件に合っている/合っていないで分岐して処理を分ける関数のことです。
Excelでのif関数に該当します。
条件式:iif(条件、合っている場合、合っていない場合)
具体的な作り方

上記のようなデータがあるとします。
どこの誰が、いつ何の商品を売って、いくら売上を上げたかというデータです。
ノルマが5,000円だとして、達成者には目印を付けたいと思います。
各IDに対して、5000円以上か未満かで目印の有無を設定する、という分岐条件です。
この時にIIf関数を使います。例えば以下のような感じ。

IIf([売上]>=5000,”達成”,””)
「売上というフィールドが5000以上であれば達成、そうでなければ空白」という内容です。
先にも述べましたが、IIf(条件、正の場合、否の場合)となっています。
基本的な記載ルールについて確認をしておくと
- 関数の前に『〇〇:』という記載があれば、〇〇がフィールド名になります。ここでは『フラグ』がそれにあたります。
- フィールド名を引用する際は[]で括ります。ここでは売上を引用したいので、[売上]がそれにあたります。
- もし、「売上テーブルの売上フィールド」とより正確に引用したいのであれば、[売上テーブル.売上]という記載をします。
クエリを実行した結果は下記となります。

これで基本的な条件分岐は完璧ですね。