设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: cyber-bobo
打印 上一主题 下一主题

[查询] 请教各位老师,如何按食品的有效日期查询扣减?

[复制链接]
11#
 楼主| 发表于 2006-8-8 23:46:00 | 只看该作者
不行啊大哥,提示语法错误,请你帮忙在我上传的例子上做一下好吗?谢谢!
12#
发表于 2006-8-8 23:56:00 | 只看该作者
以下是引用cyber-bobo在2006-8-8 15:46:00的发言:
不行啊大哥,提示语法错误,请你帮忙在我上传的例子上做一下好吗?谢谢!



是ACCESS加上方括号的原因,TRY:

SELECT iif(bj=1,提货数量,'') AS 提货数量, iif(bj=1,b.食品名称,'') AS 产品名称, b.库存, b.提货明细
FROM (SELECT iif(a.kcsl>=val(提货数量),kcsl-[提货数量],0) AS 库存, a.存放位置 &' '&a.现存数量 AS 提货明细,iif(kcsl-提货数量>=0 and 库存<现存数量,1,0) as bj,a.食品名称
FROM (SELECT *,(select sum(现存数量) from 食品记录 where a.食品名称=食品名称 and 在此日期前食用<=a.在此日期前食用) as kcsl
FROM 食品记录 a
ORDER BY [在此日期前食用]) AS a) AS b;
13#
 楼主| 发表于 2006-8-9 00:28:00 | 只看该作者

结果不对!




非常感谢你的回复,查询可以运行,但结果不对。例如我要提100,我要的结果就应该是只有“A仓提100”一条记录返回,如果提400就应该是“A仓提300”、“B仓提100”两条记录返回。并且在表“食品记录”中的相应记录中减去相应的提货数量。即如果提400的话,A仓库存就应该为0了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
14#
发表于 2006-8-9 00:35:00 | 只看该作者
1 try:

SELECT iif(bj=1,提货数量,'') AS 提货数量, iif(bj=1,b.食品名称,'') AS 产品名称, b.库存, b.提货明细
FROM (SELECT iif(a.kcsl>=val(提货数量),kcsl-[提货数量],0) AS 库存, a.存放位置 &' '&a.现存数量 AS 提货明细,iif(kcsl-提货数量>=0 and 库存<现存数量,1,0) as bj,a.食品名称
FROM (SELECT *,(select sum(现存数量) from 食品记录 where a.食品名称=食品名称 and 在此日期前食用<=a.在此日期前食用) as kcsl
FROM 食品记录 a
ORDER BY [在此日期前食用]) AS a) AS b
WHERE 库存=0 OR BJ=1;
2 并且在表“食品记录”中的相应记录中减去相应的提货数量:你自己做,用替换即可

[此贴子已经被作者于2006-8-8 16:49:18编辑过]

15#
发表于 2006-8-9 00:46:00 | 只看该作者
用一条SQL是不行的,用两条。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-1-27 02:25 , Processed in 0.116633 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表