设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

1234下一页
返回列表 发新帖
查看: 5830|回复: 37
打印 上一主题 下一主题

[模块/函数] 如何选择满足条件的最近几个数据求和,而不是全部

[复制链接]
跳转到指定楼层
1#
发表于 2006-8-9 16:58:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
一列数据,其中有a,b,c~~~,需要计算当前行之前的n个a对应的数值和

1 a 3
2 a 2
3 b 1
4 c 0
5 a 1
6 b 2
7 a 3           当前行之前的2个a对应的数值和,即a2=2,a5=1,对这两行结果求和为3




d7对“a”进行求和,但只要需要最近两个数据,即a2=2,a5=1,结果为3





请问,应该怎样实现?只对部分数据求和,而不是全部

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

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
38#
发表于 2007-12-21 00:38:34 | 只看该作者
thx
37#
 楼主| 发表于 2006-8-14 03:21:00 | 只看该作者
把隐藏项找出来,现在学会了,再次感谢sgrshh29

也要感谢andymark的无私帮助,谢谢两位!!!
36#
 楼主| 发表于 2006-8-13 23:39:00 | 只看该作者
看了一下,里面用了嵌套查询,这个嵌套是什么关系,有点糊涂。中间的变量也没有看懂

“查询4”怎么定义的,这个很关键啊

不过,可以解决问题了,继续学习

[此贴子已经被作者于2006-8-13 15:59:57编辑过]

35#
 楼主| 发表于 2006-8-13 23:20:00 | 只看该作者
已经下载,正在学习,十分感谢!
34#
发表于 2006-8-13 22:49:00 | 只看该作者
以下是引用smokinglog在2006-8-13 14:15:00的发言:


怎么下载不了附件啊









您在"查看文件"的时候发生错误,共有1项,下面是错误的详细信息




  • 您查找的数据暂不存在!




  • 请仔细阅读论坛帮助文件,确保您有相应的操作权限。




  • 重新上传了.

    本帖子中包含更多资源

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

    x
    33#
     楼主| 发表于 2006-8-13 22:15:00 | 只看该作者
    怎么下载不了附件啊









    您在"查看文件"的时候发生错误,共有1项,下面是错误的详细信息




  • 您查找的数据暂不存在!




  • 请仔细阅读论坛帮助文件,确保您有相应的操作权限。



  • 32#
    发表于 2006-8-13 16:35:00 | 只看该作者
    以下是引用smokinglog在2006-8-12 19:14:00的发言:



    抱歉,确实c是9/11/12,打字错了

    因为打错字,所以做不出来这道题了.[em01][em01][em01]下面的示例大概有350条记录,在我这里用时3到4秒.如果你得实际记录量很多得话,建议你用记录集循环解决,或者采用掐头的方法解决.



    [此贴子已经被作者于2006-8-13 8:37:07编辑过]

    本帖子中包含更多资源

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

    x
    31#
     楼主| 发表于 2006-8-13 03:14:00 | 只看该作者
    以下是引用sgrshh29在2006-8-12 17:50:00的发言:



    还是看不懂,注意你上面写的b在10/13/14这三行,而c在6/11/12这三行.而按我的理解应该是b在10/13/14这三行,而c在9/11/12这三行(而不是你写的6/11/12).如果我的理解是对的话,问题就比较简单,你可以参考我前一个例子做,再增加一个查询就可以了,速度也不慢.

    抱歉,确实c是9/11/12,打字错了


    我倒是想按照你的思路,先把符合要求的数据显示出来,然后再进行求和,可惜我不知道怎么做~

    在你的基础上改了,尝试过很多次,一直没有解决问题

    [此贴子已经被作者于2006-8-12 19:34:37编辑过]

    30#
    发表于 2006-8-13 01:50:00 | 只看该作者
    以下是引用smokinglog在2006-8-12 9:44:00的发言:



    ID N M Q P
    1 a d 3 1
    2 a e 2 2
    3 b c 1 0
    4 c a 0 1
    5 a b 1 2
    6 b c 2 3
    7 a e 3 0
    8 b a 11 1
    9 c d 5 2
    10 b a 3 3
    11 c a 2 2
    12 d c 1 7
    13 b e 5 0
    14 e b 6 2




    简述问题:在m,n两列中,找出a,b,c~最近3次出现的记录,对a来说,就是8/10/11三行,而对于b,则是10/13/14这三行;对于c,为6/11/12这三行。然后进行加合,且有a在m列,加合p列,若在n列,则加合对应的q列数值。



    我的想法是:先筛选出a,b,c~最后出现三次的记录,再根据a在m列或者n列,分别加合p或q



    现在情况更加复杂了,请高手继续发挥吧!


    和前面的差不多,只不过abc在两列里都有,要找出来对应的数据加和

    还是看不懂,注意你上面写的b在10/13/14这三行,而c在6/11/12这三行.而按我的理解应该是b在10/13/14这三行,而c在9/11/12这三行(而不是你写的6/11/12).如果我的理解是对的话,问题就比较简单,你可以参考我前一个例子做,再增加一个查询就可以了,速度也不慢.
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

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

    GMT+8, 2024-9-22 10:01 , Processed in 0.106949 second(s), 36 queries .

    Powered by Discuz! X3.3

    © 2001-2017 Comsenz Inc.

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