Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

库存计算问题

goodluck  发表于:2018-11-11 16:47:25  
复制

想根据输入的日期查询出库存,第一步先建立了一个联合查询qry出入库,其代码如下:

SELECT 耗材型号, "1111-01-01" AS 日期,0 as 本月入库, 0 as 入库金额, 0 as 本月出库,0 AS 出库金额 from 耗材初始库存 
union all 
SELECT 耗材入库明细.耗材型号, 耗材入库.入库时间 as 日期, 耗材入库明细.数量 as 本月入库, 数量*单价 as 入库金额, 0 as 本月出库,0 AS 出库金额
FROM 耗材入库 INNER JOIN 耗材入库明细 ON 耗材入库.入库单编号 = 耗材入库明细.入库单编号
WHERE (([耗材入库]![入库单编号]=[耗材入库明细]![入库单编号]))
UNION ALL SELECT 耗材出库明细.耗材型号, 耗材出库.出库时间 as 日期, 0 as 本月入库, 0 as 入库金额, 耗材出库明细.出库数量 as 本月出库,出库数量*单价 AS 出库金额
FROM 耗材出库 INNER JOIN 耗材出库明细 ON 耗材出库.出库单编号 = 耗材出库明细.出库单编号
WHERE (([耗材出库]![出库单编号]=[耗材出库明细]![出库单编号]));

运行结果如下:

2、再根据联合查询qry出入库建立了一个查询:qry收发,其SQL代码如下:

SELECT qry出入库.耗材型号, IIf(([日期]<[Forms]![frm库存月结]![日期开始]),[本月入库]-[本月出库],0) AS 上期结存, IIf([日期]<[Forms]![frm库存月结]![日期开始],[入库金额]-[出库金额],0) AS 期初余额, IIf([日期]>=[Forms]![frm库存月结]![日期开始] And [日期]<=[Forms]![frm库存月结]![日期截止],[本月入库],0) AS 本期收入, IIf([日期]>=[Forms]![frm库存月结]![日期开始] And [日期]<=[Forms]![frm库存月结]![日期截止],[入库金额],"0") AS 金额入库, IIf([日期]>=[Forms]![frm库存月结]![日期开始] And [日期]<=[Forms]![frm库存月结]![日期截止],[本月出库],0) AS 本期发出, IIf([日期]>=[Forms]![frm库存月结]![日期开始] And [日期]<=[Forms]![frm库存月结]![日期截止],[出库金额],0) AS 金额出库
FROM qry出入库;

运行时,先后输入:2018-10-1,2018-10-31

运行结果如下:


请问sql代码哪里错误,怎么结果不对,而且不会同型号进行汇总?

 

Top
张志 发表于:2018-11-14 20:53:46
建议上传示例。SQL代码这么长,眼睛看花了。在mdb中,通过查询视图看,就方便得多。

总记录:1篇  页次:1/1 9 1 :