Office中国论坛/Access中国论坛
标题: 求助:如何对数据进行先排序,后累加?(用Dsum函数) [打印本页]
作者: dorislh 时间: 2007-6-29 19:52
标题: 求助:如何对数据进行先排序,后累加?(用Dsum函数)
表1: 产品代号 数量
A 10
B 20
C 5
D 10
需得到的结果表
第一步:将数量从低到高进行排序,第二步:如果数量有重复,就根据产品代号进行再次排序,第三步:根据排序后的结果,将数量进行累加)
产品代号 数量 数量累加
C 5 5
A 10 15
D 10 25
B 20 45
而我现在用的语句为:
SELECT [1].[产品代号], [1].[数量], DSum("数量","1","产品代号<='" & [产品代号] & "'") AS [数量累加]
FROM 1;
用以上语句得到的表为:
产品代号 数量 数量累加
A 10 10
B 20 30
C 5 35
D 10 45
用以上的这个语句只能将数量进行累加,但达不到先排序后累加的效果.这不是我想要的表.
期待各位的帮助!谢谢!
[此贴子已经被作者于2007-6-29 14:22:32编辑过]
作者: 一点通 时间: 2007-6-29 20:03
尝试一下这样
SELECT [1].[产品代号], [1].[数量], DSum("数量","1","数量<=" & [数量] &) AS [数量累加]
FROM 1;
作者: 一点通 时间: 2007-6-29 20:03
尝试一下这样
SELECT [1].[产品代号], [1].[数量], DSum("数量","1","数量<=" & [数量]) AS [数量累加]
FROM 1;
作者: dorislh 时间: 2007-6-29 22:26
谢谢 一点通:
上面这个语句是可以达到对数量先排序后累加的效果,
我测试了一下,如果出现数量重复时,就会出现并排的现象,而我不希望出现这种现象.
所以,当数量有重复时,要对产品代号进行再次排序,然后再进行累加.
这样的条件下又怎么写语句呢?
期待解答!
作者: poly 时间: 2007-6-30 11:39
我也想知道,一点通大师指点下
作者: poly 时间: 2007-6-30 11:39
晕,卡了,发两次
[此贴子已经被作者于2007-6-30 3:40:41编辑过]
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |