Accessでお仕事 Nz 関数

Nz 関数

バリアント型 (Variant) の変数が Null 値である場合、0、長さ 0 の文字列 ("")、または別の特定の値を返します。たとえば、この関数を使用して、Null 値を別の値に変換し、式が Null 値に評価されないようにします。

構文

Nz(variant[, valueifnull])

Nz 関数には、次の引数があります。

引数 内容
variant データ型がバリアント型の変数を指定します。
valueifnull 省略可能 (クエリで使用される場合を除きます)。引数 Variant の値が Null のときに、値を返す変数です。この引数を指定すると、0 または長さ 0 の文字列以外の値が返されます。

メモ   引数 valueIfNull を使わずにクエリの式で Nz 関数を使用すると、フィールドが Null 値を含む長さ 0 の文字列になります。


引数 variant の値が Null 値の場合、Nz 関数は、コンテキストによって値が数値か文字列かを判断し、数値の 0 または長さ 0 の文字列 (クエリの式で使用すると、常に長さ 0 の文字列を返します) を返します。省略可能な引数 valueifnull を指定した場合で、variant が Null 値の場合は、この引数で指定した値が返されます。クエリの式で使用する場合、Nz 関数は引数 valueifnull を指定する必要があります。

引数 variant の値が Null 値でない場合は、引数 variant の値が返されます。

解説

Nz 関数は、Null 値を含む式で使用すると便利です。式に Null 値が含まれている場合でも、Null 値以外の値に式を評価するには、Nz 関数を使用して、0、長さ 0 の文字列、または他の戻り値を取得します。

たとえば、2 + varX という式は、バリアント型の変数 varX が Null の場合、常に Null 値を返します。しかし、2 + Nz(varX) では 2 を返します。

Nz 関数を、IIf 関数の代わりに使用できる場合があります。たとえば、次のコードでは、目的の結果を得るために、IIf 関数を含む 2 つの式が必要です。最初の式は、変数の値をチェックし、Null 値の場合は 0 に変換します。

varTemp = IIf(IsNull(varFreight), 0, varFreight)
varResult = IIf(varTemp > 50, "High", "Low")

次の例では、Nz 関数は最初の式を代替します。これによって、目的の結果を 2 ステップでなく 1 ステップで得ることができます。

varResult = IIf(Nz(varFreight) > 50, "High", "Low")

省略可能な引数 valueifnull に値を指定すると、variantNull 値の場合、その値が返されます。Nz 関数の引数 valueifnull, を指定して、IIf 関数の代わりに使用できる場合があります。
 たとえば、次の式では、IIf 関数によって、変数 varFreight の値が Null 値の場合、"配送料無料" という文字列が返されます。

varResult = IIf(IsNull(varFreight), _
    "配送料無料", varFreight)

次の例では、変数 varFreightNull 値の場合は、Nz 関数の引数 valueifnull に指定した "配送料無料" という文字列が返されます。

varResult = Nz(varFreight, "配送料無料")

このページのトップに戻る↑ 次の項目を見る↓ Accessでお仕事 目次に戻る

ホームページのトップに戻る