名称 年 月 初 收 出 存
涤纶布 2009 1 100 100 50 150
麻布 2009 1 100 100 50 150
棉布 2009 1 100 100 200
涤纶布 2009 2 150 100 50 200
麻布 2009 2 150 50 100
棉布 2009 2 200 50 150
涤纶布 2009 3 200 100 50 250
这是结果
步骤如下:
创建第一个查询 vStart, 求期初
查询的SQL语句:
SELECT biao.名称, Sum(biao.期初) AS 初
FROM biao
GROUP BY biao.名称;
创建第二个查询 vMonth, 求每月的收入和发出合计
查询的SQL语句:
SELECT Year([日期]) AS 年, Month([日期]) AS 月, biao.名称, Sum(biao.收入) AS 收, Sum(biao.发出) AS 出
FROM biao
GROUP BY Year([日期]), Month([日期]), biao.名称;
创建第三个查询 v库存, 最终得出每月的初、收、发、存
查询的SQL语句:
SELECT M.名称, M.年, M.月,
(SELECT 初 FROM vStart AS S WHERE S.名称=M.名称) +
NZ((SELECT SUM(收入) FROM biao AS B WHERE B.名称=M.名称 AND B.日期<CDATE(M.年 & "-" & M.月 & "-1")),0) -
NZ((SELECT SUM(发出) FROM biao AS C WHERE C.名称=M.名称 AND C.日期<CDATE(M.年 & "-" & M.月 & "-1")),0) AS 初,
M.收, M.出, [初]+NZ([收],0)-NZ([出],0) AS 存
FROM vMonth AS M;
只需要打开 v库存 查询,即可查看库存