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