- ベストアンサー
Accessで“0”ゼロ表示をする
いつも大変お世話になっております。 Accessの数値型フィールドで、該当する数字がない場合、通常はブランク(空白)になっていますが、それをゼロ表示するには、どうしたらいいのでしょうか? 表示形式の中で変更しても、そのようにはなりません。 何がしたいのかというと、クエリで、在庫表を作っているのですが、入庫が100で出庫が50だと在庫数(入庫-出庫)は50と表示されますが、入庫が0で出庫が50の場合、答えは-50なのに、そのように表示されません。入庫の数字がブランクだからいけないのかな??と思い、このような質問をさせていただきました。 どうぞよろしくお願いします。m(_ _)m
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>該当する数字がない場合、通常はブランク(空白)になっていますが あれはブランクではなくNullです レコードがないという状態を表しています Nullはデータベースでは非常に重要な概念で 軽々しく0に置き換えない方がいいのですよ ただしNullが絡む計算の結果はNullとするという決まりがあります それじゃ困る、Nullを0として計算したいというときにはNz関数を使います Nz(入庫,0)-Nz(出庫,0) 重要な概念ですからヘルプ等でよく研究してください >表示形式の中で変更しても、そのようにはなりません。 書式の第4項がNullに対する書式ですから0と表示させることも出来ますが 混乱させるだけの結果になるでしょうね
その他の回答 (1)
- motsu2006
- ベストアンサー率37% (110/297)
おっしゃる通り、入庫の数字がブランクなのが問題ですね。 (私も試してみました) テーブルのデザインで、入庫及び出庫フィールドの規定値を0にする → 更新クエリで、入庫及び出庫フィールドがブランクの場合は0をセット 以上で問題は解決すると思います。
補足
早速のお返事ありがとうございます。 今回のDBの作りの場合、テーブルまたはクエリのフィールドにブランクはないのです。ブランクは、「在庫表」のみに現れます。 それぞれのテーブル・クエリに在庫の入庫情報・出庫情報を入れる段階では、どのフィールドも埋まっていきます。 その埋まったデータを使って、製品名(型番)をキーに在庫表を作っているわけですが、そのとき初めて、入庫はあるけど出庫がない、出庫があるけど入庫がない・・・という情報が発生するので、あくまでも質問に書いたとおり、クエリを実行した後の値がブランクの場合は「0」を表示する必要があるのです。 ・・・できますでしょうか? お手数おかけしますが、よろしくお願いします。m(_ _)m
お礼
はい。おっしゃるとおりでした。 「ブランク」と「Null」の概念も、昔聞いた気がしましたが、忘れていました。(^^;)すみません。 で、また、「Nz」関数を使うことで、問題も解決できました。 非常に適切・親切なご回答、本当にどうもありがとうございました。m(_ _)m