以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 根据表A表B的数据,怎么生成表C的报表 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=96864) |
-- 作者:有点色 -- 发布时间:2017/3/1 12:44:00 -- Dim dtb As New DataTableBuilder("表D") dtb.AddDef("姓名", Gettype(String), 32) dtb.AddDef("表a", Gettype(Double)) For Each v As String In DataTables("表B").GetValues("第二列") dtb.AddDef(v, Gettype(Double)) Next dtb.Build() For Each v As String In DataTables("表A").GetValues("第一列") Dim dr1 As DataRow = DataTables("表D").AddNew() dr1("姓名") = v Dim sum As Double = 0 For Each dr As DataRow In DataTables("表A").Select("第一列 = \'" & v & "\'") sum += val(dr("第二列")) Next dr1("表A") = sum sum = 0 For Each dr As DataRow In DataTables("表A").Select("第一列 = \'" & v & "\'") sum += val(dr("第二列")) Next For Each vv As String In DataTables("表B").GetValues("第二列", "第一列 = \'" & v & "\'") sum = 0 For Each dr As DataRow In DataTables("表B").Select("第一列 = \'" & v & "\' and 第二列 = \'" & vv & "\'") sum += val(dr("第三列")) Next dr1(vv) = sum Next Next MainTable = Tables("表D") |
-- 作者:有点色 -- 发布时间:2017/3/1 23:31:00 -- 以下是引用liming730323在2017/3/1 22:53:00的发言:
最右面缺个合计,这个代码应该怎么写?
看懂下代码,留给你当作业。
循环每一列,累加每一个值,即可。 |