以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求一个反循环计算的代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=74545)

--  作者:jiterp
--  发布时间:2015/9/13 21:36:00
--  求一个反循环计算的代码

 

各位老师:以下是一个循环数据表,要求先算出6行号的QTY为30(只要MID=6的进行合计),然后再算出1行号的QTY为70(即MID=1的进行合计),求一段执行代码,实现该功能,谢谢!

 

 

ID QTY MID
1   0
2 10 1
3 10 1
4 10 1
5 10 1
6   1
7 10 6
8 10 6
9 10 6


--  作者:jiterp
--  发布时间:2015/9/14 9:19:00
--  
哪位老师帮个忙,解决下我的问题不?谢谢!
--  作者:jiterp
--  发布时间:2015/9/14 9:46:00
--  

上实例

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.foxdb

[此贴子已经被作者于2015/9/14 9:47:17编辑过]

--  作者:大红袍
--  发布时间:2015/9/14 9:58:00
--  
For Each id As String In DataTables("物料数量统计").GetValues("主id", "", "主id desc")
    msgbox(id & " " & DataTables("物料数量统计").Compute("sum(数量)", "主id = \'" & id & "\'"))
Next

--  作者:jiterp
--  发布时间:2015/9/14 10:49:00
--  
For Each dr As DataRow In DataTables("物料数量统计").Select("")
    If   dr("数量") = Nothing Then
        Dim js As Double
        For Each id As String In DataTables("物料数量统计").GetValues("主id", "", "主id desc")
            js = DataTables("物料数量统计").Compute("sum(数量)", "主id = \'" & id & "\'")
        Next
        dr("数量") = js
    End If
Next

好象不起作用,是哪个地方没写好?

--  作者:大红袍
--  发布时间:2015/9/14 10:57:00
--  
For Each id As String In DataTables("物料数量统计").GetValues("主id", "", "主id desc")
    DataTables("物料数量统计").replacefor("数量", DataTables("物料数量统计").Compute("sum(数量)", "主id = \'" & id & "\'"), "主id = \'" & id & "\'")
Next