以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请教:循环语句计算问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=63716) |
||||
-- 作者:feiyu988 -- 发布时间:2015/1/27 9:41:00 -- 请教:循环语句计算问题 想实现代码计算m值,每一行的 m值 = 当前行q值 * 当前行至最末行a值和 + 下一行q值 * 下一行a值和 + ..... 老是计算错误,请老师帮忙修改一下,谢谢
|
||||
-- 作者:有点甜 -- 发布时间:2015/1/27 9:47:00 -- Dim t As Table = Tables("表A") Dim r As Row = t.Rows(t.Rows.Count-1) Dim sum As Double = r("q值") * r("a值") For i As Integer = t.Rows.Count - 2 To 0 Step -1 r = t.Rows(i) sum += r("q值") * r("a值") r("m值") = sum Next |
||||
-- 作者:feiyu988 -- 发布时间:2015/1/27 9:55:00 -- 好像还不对,计算出的只是当前行qz值 * 当前行a值至末行和,没有累加 下一行qz值 * 下一行a值 乃至下下行直至 末行q值和一直至最末行*最末行a值 |
||||
-- 作者:有点甜 -- 发布时间:2015/1/27 9:59:00 -- 肯定对啊,就是每行的结果累加啊 |
||||
-- 作者:feiyu988 -- 发布时间:2015/1/27 10:05:00 -- 当前计算的只是当前行q值*(当前行a值+下一行a值+...+最末行a值),还需要加上下一行q值*(下一行a值+...+最末行a值),依次累加 |
||||
-- 作者:有点甜 -- 发布时间:2015/1/27 10:05:00 -- 不明白你的逻辑,具体怎么改你改一下
Dim t As Table = Tables("表A") |
||||
-- 作者:feiyu988 -- 发布时间:2015/1/27 10:06:00 -- 直至累加至最末行 |
||||
-- 作者:feiyu988 -- 发布时间:2015/1/27 10:11:00 -- 如果a都是1,q列依次是1、2、3、4、5、6、7、8、9、10的话,第二行的值应该是2*9+3*8+4*7+5*6+6*5+7*4+8*3+9*2+10*1,第三行为3*8+4*7+5*6+6*5+7*4+8*3+9*2+10*1 |
||||
-- 作者:有点甜 -- 发布时间:2015/1/27 10:17:00 -- Dim t As Table = Tables("表A") Dim r As Row = t.Rows(t.Rows.Count-1) Dim m As Double = r("q值") * r("a值") Dim a As Double = r("a值") For i As Integer = t.Rows.Count - 2 To 0 Step -1 r = t.Rows(i) a += r("a值") m += a * r("q值") r("m值") = m Next |
||||
-- 作者:feiyu988 -- 发布时间:2015/1/27 10:21:00 -- OK,这个代码把我都整蒙了,终于整好了 |