Access。クエリ。計算したくてもNull値だとすることができないので、どうしたらいい
<Access:Nz関数>
Excelでは、空白セルを「0」として計算をしてくれます。
ところが、Accessは、単純な四則演算ですら、計算をしてくれません。
例えば、予約数からキャンセル数を減算して、参加者数をAccessで算出する場合、データが入力されていないと、空白のままで、計算結果を表示してくれません。
T予約状況の3件目。キャンセル数フィールドは空欄(Null値)になっています。
2件目は、「0」と入力されています。
Q参加者数というクエリをつくって、参加数という演算フィールドをつくります。
参加数: [予約数]-[キャンセル数]
データシートビューで表示してみると、2件目は、30と表示されているのに、3件目は、空白で参加数が表示されていることがわかります。
Accessは、データが無い。
Nullだと、計算をしてくれません。
空白に0を自力で入力するとしても、データ件数が多ければ対応することは厳しい。
そこで、Nz関数をつかうことで、対応することができます。
参加数: [予約数]-[キャンセル数]
を次のように修正します。
参加数: [予約数]-Nz([キャンセル数],0)
これで、データが空欄(Null値)の場合でも、算出することができます。
Nz([キャンセル数],0) について説明します。
Nz関数は、データが空欄だった場合、どうするのかという処理をしてくれます。
キャンセル数フィールドの値が空欄=Null値ならば、「0」とするという処理をしてくれます。
これにより、算出することができたというわけです。
IIF関数とかつかうイメージがしますが、Accessには、Nz関数というのもあります。