[Access 2016/2013/2010/2007]
AccessのIIf関数の使い方を紹介します。
スポンサーリンク
書式
IIf(式, 真の場合, 偽の場合)
式が真(True)の場合は真の場合、偽(False)の場合は偽の場合を返します。条件によって値を切り替えたいときに使用します。
■引数
引数 | 指定 | 説明 |
---|---|---|
式 expression | 必須 | 評価対象の式を指定 |
真の場合 truepart | 必須 | 式が真(True)の場合に返す値を指定 |
偽の場合 falsepart | 必須 | 式が偽(False)の場合に返す値を指定 |
使用例
IIf([得点]>=70, "合格", "")
- [得点]フィールドの値が70以上の場合、戻り値は「合格」
- [得点]フィールドの値が70以上でない場合、戻り値は長さ0の文字列「""」
IIf([数量]>=10, Int([単価]*0.9), [単価])
- [数量]フィールドの値が10以上の場合、戻り値は[単価]の1割引き
- [数量]フィールドの値が10以上でない場合、戻り値は[単価]
IIf([割引券有], -1000, 0)
- [割引券有]フィールドの値がTrueの場合、戻り値は-1000
- [割引券有]フィールドの値がTrueでない場合、戻り値は0
実践例:70点以上を合格と判定する
[得点]フィールドの数値が70以上の場合に「合格」、それ以外に「不合格」と表示します。
判定: IIf([得点]>=70,"合格","不合格")
メモ
Null値に注意しよう
(1) 判定A: IIf([得点]>=70,"合格","不合格")
(2) 判定B: IIf([得点]<70,"不合格","合格")
(1)の[判定A]の式は70以上の場合に合格と判定し、(2)の[判定B]の式は70未満でない場合に合格と判定します。一見同じように感じますが、「70未満でない場合」にはNull値も含まれるので注意が必要です。[得点]フィールドが未入力(Null値)の場合、(2)の[判定B]では判定が「合格」となってしまいます。したがって、Null値を考慮するなら(1)の[判定A]の式を使用するのが賢明です。
スポンサーリンク