Accessにてテーブルが異なるデータの引き算
Access に異なるテーブルに収められているデータの「引き算」ほ方法をお教えください。
只今作成しているシステムは、簡単な在庫管理システムです。
今後、拡張していくこともあり得るという前提で各テーブルを作成しました。
作成したテーブルは以下のとおりです。
仕入先テーブル「仕入先ID・仕入先名・フリガナ・〒・住所1・住所2・TEL・FAX」
材料テーブル「材料ID・材料名」(単価はその時々で変わってくるのであえてここでは設定していません)
仕入テーブル「仕入ID・日付・仕入先ID・材料ID・仕入数量・単価」
払出テーブル「払出ID・日付・材料ID・払出数量」
在庫確認クエリにて以下の設定を行いました。
材料テーブルより「材料ID・材料名」
仕入テーブルより「仕入数量」
払出テーブルより「払出数量」
を設定し演算にて「在庫: Sum(Nz([仕入数量],0)-Nz([払出数量],0))」を入力しました。
データシートビューにて確認したところ、お互い発生した回数分だけ足されてしまい正確な在庫数量が表示されません。
例
====================
9/1 仕入数量 100
9/2 払出数量 50
9/3 仕入数量 100
9/4 払出数量 50
9/5 仕入数量 100
====================
とした場合に、仕入数量600 払出数量300 となってしまいます。
以下は「SQLレビュー」の内容です。
SELECT 材料.材料ID, 材料.材料名, Sum(仕入.仕入数量) AS 仕入数量の合計, Sum(払出.払出数量) AS 払出数量の合計, Sum(Nz([仕入数量],0)-Nz([払出数量],0)) AS 在庫
FROM (材料 INNER JOIN 仕入 ON 材料.材料ID = 仕入.材料ID) INNER JOIN 払出 ON 材料.材料ID = 払出.材料ID
GROUP BY 材料.材料ID, 材料.材料名;
解決方法をご享受くださいますようよろしくお願いいたします。
お礼
そうだったんですか・・・ 小切手とかペイパルって選ぶところがあったので 払い出しできると思ったのですが・・・ ありがとうございました。