设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 1485|回复: 14
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
1#
发表于 2006-8-8 09:39:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如下图,如何才能做到只要输入食品名称和提货数量,系统就会按食品的有效日期自动排序扣减并列出清单。
有谁做过这种情况,有例子吗,请赐教!



<TABLE  cellSpacing=0 cellPadding=0 width=493 border=0 x:str>

<COLGROUP>

<COL style="WIDTH: 103pt; mso-width-source: userset; mso-width-alt: 4384" width=137>

<COL style="WIDTH: 54pt" span=2 width=72>

<COL style="WIDTH: 105pt; mso-width-source: userset; mso-width-alt: 4480" width=140>

<COL style="WIDTH: 54pt" width=72>





产品名称

入库数量

存放位置

有效日期





美乐多乳酸奶

300

A仓

2006年10月30日





美乐多乳酸奶

50

B仓

2006年9月13日





美乐多乳酸奶

150

C仓

2006年8月16日





美乐多乳酸奶

65

D仓

2006年8月5日









































产品名称

提货数量

提货明细

库存



美乐多乳酸奶

530

D仓

65

0

<TR  height=21>

<TD class=xl28  width=72 height=21>C<FONT fac
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-8-8 17:29:00 | 只看该作者
try:

SELECT iif(a.id=1,[输入提货数量],'') AS 提货数量, iif(a.id=1,a.产品名称,'') AS 产品名称, iif(a.kcsl>=val(输入提货数量),kcsl-[输入提货数量],0) AS 库存, a.存放位置 &' '&a.入库数量 AS 提货明细
FROM (SELECT *,(select sum(入库数量) from a111 where a.产品名称=产品名称 and id>=a.id) as kcsl
FROM a111 a
ORDER BY [有效日期a]) AS a;
在原表加入ID,自增字段,你在修改一下,加入食品名称。原理是一样的。

[此贴子已经被作者于2006-8-8 9:47:55编辑过]

3#
 楼主| 发表于 2006-8-8 18:11:00 | 只看该作者
我在查询里做过好像不行,因为我是新手,能帮忙做个实例吗?谢!
4#
发表于 2006-8-8 18:25:00 | 只看该作者
以下是引用cyber-bobo在2006-8-8 10:11:00的发言:


我在查询里做过好像不行,因为我是新手,能帮忙做个实例吗?谢!

SQL代码已经测试通过,加入ID字段
5#
发表于 2006-8-8 19:10:00 | 只看该作者
OR

上传你的表
6#
 楼主| 发表于 2006-8-8 20:38:00 | 只看该作者

搞了半天还是不行啊!


本帖子中包含更多资源

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

x
7#
 楼主| 发表于 2006-8-8 21:32:00 | 只看该作者
顶,帮帮忙啦
8#
发表于 2006-8-8 21:48:00 | 只看该作者
try:

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

SELECT [输入提货数量] AS 提货数量, a.食品名称 AS 产品名称, iif(a.kcsl>=val(输入提货数量),kcsl-[输入提货数量],0) AS 库存, a.存放位置 &' '&a.现存数量 AS 提货明细
FROM (SELECT *,(select sum(现存数量) from 食品记录 where a.食品名称=食品名称 and id<=a.id) as kcsl
FROM 食品记录 a
ORDER BY [在此日期前食用]) AS a
不过用在此日期前食用条件要准确一些(用ID要先按在此日期前食用排序才行)。
10#
发表于 2006-8-8 22:41:00 | 只看该作者
or

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;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-27 02:17 , Processed in 0.562173 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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