Office中国论坛/Access中国论坛

标题: [求助]关于测算的解决办法 [打印本页]

作者: gdfsslec    时间: 2006-12-12 22:48
标题: [求助]关于测算的解决办法
问题如下:

出货日期                      出货额

2006-8-8                       30

2006-9-9                       20

2006-10-10                   50

要求从下向上算,出货额累加超过60时是发生在什么时间,并列出从那天起到现在的出货记录。

应该用什么办法解决,我一点头绪都没有,请高手指点!


作者: kelind    时间: 2006-12-13 06:17
提供思路:

1,用ADO, 按日期排序.

      dim  inta as integer

      dim inta=0

   dim rs as new adodb.recordest

      rs.open"select * from yourtable orderby datetime"

      rs.movelast

      do until inta>60

      inta=inta + rs(" 出货额")



      rs.movevious

      loop



      


作者: qlm    时间: 2006-12-13 06:53
你的意思是从最下面往上计算,也就是:50+20=70>60,这样的话,就要列出

9月9到10月10的记录吗?


作者: gdfsslec    时间: 2006-12-13 23:03
谢谢KELIND大师!我弄了一下,但是水平不行,只弄了一半儿。请帮忙看看!

[attach]22081[/attach]


[此贴子已经被作者于2006-12-13 15:04:15编辑过]


作者: kelind    时间: 2006-12-14 00:41
标题: 自己要多想想.
[attach]22083[/attach]

是不是这样?

作者: Joe5525601    时间: 2006-12-14 01:16
也可以直接用查询解决:

SELECT 出货.序号, 出货.日期, 出货.出货额
FROM 出货
GROUP BY 出货.序号, 出货.日期, 出货.出货额
HAVING (((Last((DSum("出货额","出货")-DSum("出货额","出货","日期<=" & "#" & [日期] & "#"))))<=60));

作者: gdfsslec    时间: 2006-12-14 16:40
谢谢Joe5525601大师!

我按照你的方法搞掂了,虽然我还没搞懂。

[attach]22089[/attach]

作者: gdfsslec    时间: 2006-12-14 16:45
更要谢谢kelind大师!正是我要的效果。

我要继续努力,搞懂你的代码。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3