- ベストアンサー
Access2000で教えてください!!
Access2000の在庫管理サンプルで、こういう式があったのですが、 =Sum(nz([入庫数])-nz([返品数])-nz([出庫数])) これだと入庫に対しての返品はきくのですが、出庫に対しての返品がききません。。( そこで入庫に対しての返品数はそのままで、出庫に対しての[返品数2]を作成し、 ひとつの式でまとめたいのですが、可能でしょうか?? そもそも-nzとか上の式がよくわかりません・・・。 教えてください! よろしくお願いします!!
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>Nz Nz関数はバリアント型の変数がNull値である場合0、長さ0の文字列の場合は別の特定の値を返したりできる関数です。 この場合は入庫数・返品数・出庫数のレコードにNullがあった場合0として計算できるようにフィールド名にNzを付けて記述しないと計算出来ない為です。 どこかのフィールドがNullのままだと計算の答えはでません。 返品数が入庫に対しての返品であれば返品数2を出庫に対しての返品と捉えるのは自由だと思います。 =Sum(nz([入庫数])-nz([返品数])-nz([出庫数])-nz([返品数2])) で計算出来ます。 出庫に対しての返品は出庫数に出庫返品の数をマイナスで入力すれば対処できるのでフィールドに返品数2を作らなくても処理は可能です。
その他の回答 (1)
あまり詳しい状況は判っていないのですが(^^;。 Nz 関数は別にして、まず「式」を考えましょう。 この集計(Sum 関数)で行っているのは、 ・ [入庫数] を足す ・ [返品数] を引く ・ [出庫数] を引く ですよね? (返品なら足すような気がしつつも・・) もし、出庫に対する返品数 [返品数2] を作成するなら 足すのか引くのか(足す、のかな? もちろん、テーブルやフォームで [返品数2] が用意されていることは前提ですが、 その「式」は作成できますよね? NZ 関数以外はお望みのように(仕様ってやつです)作成できると思います。 で、NZ 関数ですが。 データの形式として、 ・ 長さゼロの文字列 ・ 数値のゼロ は理解しやすいのですが似たようなものに ・ NULL 値 ・ EMPTY 値 というものがあります。 詳細はヘルプなどを見ていただくとして、 これらの特別な値を加減乗除したりするとエラーになります。 従ってそれを防ぐため NZ 関数 を用いているのです。 この NZ 関数もヘルプを見ていただければ判るのですが、、 「NULL 値だったら、長さゼロの文字列とか数値のゼロにしてよね」 ってコトです。 非常に便利な関数で、なんで VB にないんだろう、と思うほどです(笑。 頑張って下さいね♪
お礼
よく考えればそんなに難しいことじゃなかったです(笑) どうもありがとうございました~
お礼
ばっちりできました! ありがとうございます!