[Access 2016/2013/2010/2007]
AccessのNz関数の使い方を紹介します。
スポンサーリンク
書式
Nz(データ, Nullの代替値)
データがNull値でない場合はデータをそのまま返し、Null値の場合はNullの代替値を返します。
■引数
引数 | 指定 | 説明 |
---|---|---|
データ variant | 必須 | 変換の対象になるデータを指定 |
Nullの代替値 valueifnull | 省略可 | データがNull値のときに返す値を指定。省略した場合、データが数値のときは0、文字列のときは長さ0の文字列「""」を返す。ただしクエリでは長さ0の文字列「""」を返す |
使用例
式1: Nz([得点], 0)
- [得点]フィールドの値が50の場合、戻り値は「50」
- [得点]フィールドがNull値の場合、戻り値は「0」
式2: Nz([役職], "役職なし")
- [役職]フィールドの値が「課長」の場合、戻り値は「課長」
- [役職]フィールドがNull値の場合、戻り値は「役職なし」
メモ
Nullの代替値を省略したとき
クエリの演算フィールドに「Nz([得点])」と入力した場合、[得点]フィールドがNull値のときに戻り値は長さ0の文字列「""」になります。演算フィールドに「Nz([得点])+100」のように入力した場合は、「Nz([得点])」の戻り値は「0」になり、演算式自体の結果は「100」になります。
実践例:数値が未入力の場合にも和を表示する
フィールドの値を使用して演算をおこなうときは、フィールドが未入力の場合を考慮して対処しないと、思わぬ結果になることがあります。そのようなときの対処に、Nz関数は非常に有益です。例えば、クエリの演算フィールドに「合計: [英語]+[数学]」と入力した場合、[英語]または[数学]が未入力(Null値)だと[合計]もNull値になってしまいます。
× 合計: [英語]+[数学]
Nz関数を使用して、演算フィールドの式を「合計: Nz([英語],0)+Nz([数学],0)」のように修正すると、[英語]または[数学]が未入力(Null値)でも、0として[合計]を計算できます。
○ 合計: Nz([英語],0)+Nz([数学],0)
スポンサーリンク