|
▼コマ さん:
こんにちは。
>以上のような条件で入出庫クエリを作成したいのでが上手く出来ません。
まず、テーブルの構成が変更可能でしたら
入出庫テーブル
ID 商品CD 日付 種別 個数
1 aaa 2006/02/01 入庫 100
2 aaa 2006/02/02 出庫 30
3 aaa 2006/02/03 入庫 10
4 aaa 2006/02/03 出庫 5
という形の方が望ましいです。変更が無理なようでしたら、
SELECT 入庫テーブル.商品CD,
入庫テーブル.入庫日,
'入庫' AS 種別,
入庫テーブル.入庫数 AS 個数
FROM 入庫テーブル
UNION ALL
SELECT 出庫テーブル.商品CD,
出庫テーブル.出庫日,
'出庫' AS 種別,
出庫テーブル.出庫数 AS 個数
FROM 出庫テーブル;
上記 SQL をクエリの SQL ビューに記載して、そのクエリを代用して下さい。
日付のフィールドが
>06.02.03
となっていますが、日付/時刻型のフィールドに変更し
「2006/02/03」とした方が後々の管理が楽になると思われます。
さてここまで準備ができましたら、下記 SQL をクエリの SQL ビューに記載して
結果を確認されてみて下さい。
TRANSFORM Sum(入出庫テーブル.個数) AS 個数の合計
SELECT 入出庫テーブル.商品CD, 入出庫テーブル.日付,
Nz(DSum("個数","入出庫テーブル","種別='入庫' AND 日付 <=#" & 日付 & "#"),0) -
Nz(DSum("個数","入出庫テーブル","種別='出庫' AND 日付 <=#" & 日付 & "#"),0) AS 残高
FROM 入出庫テーブル
GROUP BY 入出庫テーブル.商品CD, 入出庫テーブル.日付,
Nz(DSum("個数","入出庫テーブル","種別='入庫' AND 日付 <=#" & 日付 & "#"),0) -
Nz(DSum("個数","入出庫テーブル","種別='出庫' AND 日付 <=#" & 日付 & "#"),0)
PIVOT 入出庫テーブル.種別;
|
|