アクセス担当のまみです。
何も入力されていない空白って扱い方を知らないとちょっと厄介ですね。
空白があることでエラーになったり、空白の数を数えるのかそうでないのかで式も変わってくるし。
それに空白って「””」と「Null」の2種類あるんです。
見た目に同じなので人間には区別はつかないけど、パソコンには違って見えるらしい・・・・
今回はそんな空白の扱いについてお伝えしますね。
Contents
Nullと””
何もデータが入力されていない状態って「Null」がデータとしてテーブルに入っています。
VBAでコードを書いてデータをクリアする時とか、テキストボックスやコンボボックスに「Null」か「””」を使います。
私は「Null」は後の処理でエラーになることが多いので「””」を使っています。
NZ関数
データがある場合はデータを返してくれて、Nullの場合は代替値を返してくれます。
数値の場合
数値がNullだと何が困るかってNullがあると、計算結果もNullになっちゃうってところです。
その方が入力ミスがわかるので良いって場合もあると思うので、ケースバイケースですね。
使用するテーブル
「T_売上管理表」
このテーブルからクリスマスツリーとリースの合計を出したいとします。
まずはクエリでNz関数を使用しないで計算してみますね。
合計:[クリスマスツリー]+[リース]で計算してくれます。
フィールドに「合計: [クリスマスツリー]+[リース]」をそのまま入力してもいいですが、①で右クリックしてズームを選択すると画面が表示されるので、②で入力して③「OK」すると全部の式が見れますよ。
出力結果
合計: Nz([クリスマスツリー])+Nz([リース])で計算してくれます。
出力結果
[quads id=2]
文字列の場合
文字列の場合も数値の場合の使い方と同じで特に違いはないです。
ただ、文字列の場合は、空白だったらこの文字を入れたいって代替値を使いたいことがあるかなって違いでしょうか。
使用するテーブル
「T_訪問件数」
役職が空白の場合には「一般社員」と表示されるようにしてみましょう。
職種:Nz[“[役職]”,”一般社員”]で表示してくれます。
出力結果
まとめ
データに空白があった時もNz関数を使えば簡単に整理できちゃいますね。
空白のデータって入力もれなのか、本当に空白なのかで扱いが違ってくるので状況に応じて使い分けてくださいね。
一番いいのは入力もれを除いて、空白を作らないでルールを決めておくことなんですけどね!