Access交流中心

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

查询语句有何问题

Lee  发表于:2010-08-14 10:21:42  
复制

查询窗体中有“年”、“月”两个文本框如下图,输入年、月可查询进出库产品数量

但凡是本月入库和出库数量相等(刚好对冲)的,窗体中都不能显示,但打开查询是有该产品进出库的如下图:

我估计是查询条件有些问题(产品进出仓日期我对过无问题)。

我现时“本月入库”和“本月出库”的联合查询语句如下:

SELECT 产品编号, sum(进仓数量) AS 本月入库, 0 AS 本月出库 FROM 入库 where month(进仓日期)=forms!库存月报查询窗体!月 and year(进仓日期)=forms!库存月报查询窗体!年 GROUP BY 产品编号
UNION ALL SELECT 产品编号, 0 AS 本月入库, sum(出仓数量) AS 本月出库 FROM 出库 where month(出仓日期)=forms!库存月报查询窗体!月 and year(出仓日期)=forms!库存月报查询窗体!年 GROUP BY 产品编号;
现时“上期结存”联合查询语句如下:

SELECT 产品编号, sum(进仓数量) AS 进仓数量总计, 0 AS 出仓数量总计 FROM 入库 where month(进仓日期)<forms!库存月报查询窗体!月 AND year(进仓日期)<=forms!库存月报查询窗体!年 GROUP BY 产品编号
UNION SELECT 产品编号, 0 AS 进仓数量总计, sum(出仓数量) AS 出仓数量总计 FROM 出库 where month(出仓日期)<forms!库存月报查询窗体!月 AND year(出仓日期)<=forms!库存月报查询窗体!年 GROUP BY 产品编号;

麻烦看看问题出在哪?

 

 

 

Top
Lee 发表于:2010-08-16 10:31:42

问题是出在“上期结存”的查询条件上,如果“上期结存”联合查询不输入条件“where month(进仓日期)<forms!库存月报查询窗体!月 AND year(进仓日期)<=forms!库存月报查询窗体!年”,则查询窗体中能正常显示出图中“本月入库”和“本月出库”(各2000)数量,一但输入条件就不能显示了。

我上期结存计算方法是:上期结存=查询日期之前所有入库汇总-查询日期之前所有出库汇总。根据这公式设置上述条件好象没什么问题,但不知为什么一设条件就出现问题。

请各位朋友指教。



Lee 发表于:2010-08-16 16:40:36

上传附件,望各位朋友帮忙研究解决。

 

点击下载此附件

Lee 发表于:2010-08-18 22:11:06

问题终于清楚了,与查询条件无关,查询条件是正确的。
主要问题是我以“月结汇总查询”为主与“出入库汇总查询”建立联系,生成“库存月报查询”。
应该使用联合查询把“月结汇总查询”和“出入库汇总查询”联接起来,这样两者关系对等就不会出现之前问题了。
另一解决方法是用“生产资料表”(包含所有产品在内)为主,与“月结汇总查询”和“出入库汇总查询”建立联系,这样也不会出现之前问题。

一直自问自答,都不知怎结贴。



煮江品茶 发表于:2010-08-19 17:41:44
可以再搞个马甲,给马甲一个最佳答案。

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