<HOME  <お願い事項  <Access2000 TOP   <Access97 TOP   <サイト内検索
 MS-Access2002チョ〜入門部屋>クエリを極める
  



 menu

54. 計算式でのNullの評価

Nullというのは、Nullというデータが入っているのではなくて、Nullという状態であることを表しています。
一般的には「未入力/未使用のフィールド」と考えたほうがよいでしょう。
「空白」とはちょっと違うのです。

数値型のフィールドは、未入力の場合、だいたい「ゼロ」が自動的に入ってくると思います。
でも、たとえば・・・後から追加したフィールドだったりすると、ゼロじゃなくてNull状態になることもあります。
こういうフィールドを使って足し算とか掛け算とか、関数を使って何かしら計算をさせようとすると、Nullなので計算の対象になりません。

たとえば、テーブルに後からフィールドを追加したとします。

今追加したばかりのフィールドなので、全部未入力状態です。

で、クエリで二つのフィールドの足し算をするように作ってみましたところ・・・。

デマセーン。

[去年の売上]のところに何かしら数値を入力すれば、計算します。
でも[去年の売上]がNullのレコードに関しては、答えは出てきません。

こういうときの対処方法は大きく分けてふたつあります。
   1)書式とかを利用して、[去年の売上]フィールドのNullをゼロに置き換えておく。
   2)式1の足し算でNz関数を使い、Nullの場合でも計算を行うようにする。

2)の例でいくと、以下のようにNz関数でくくって足し算をします。

とりあえず・・・なんかしら答えは出るようになりますよね。