Foxtable(狐表)用户栏目专家坐堂 → [求助]不同表对应列计算并合计


  共有2244人关注过本帖树形打印复制链接

主题:[求助]不同表对应列计算并合计

帅哥哟,离线,有人找我吗?
lgj716330
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1295 积分:10009 威望:0 精华:0 注册:2013/11/8 15:27:00
[求助]不同表对应列计算并合计  发帖心情 Post By:2021/9/13 19:53:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:0913.png
图片点击可在新窗口打开查看
如图,如何实现表2的每行的每一列乘以表1对应的每列,然后合计在表2的“合计”列

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/13 20:19:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
lgj716330
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1295 积分:10009 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2021/9/13 21:34:00 [只看该作者]

两张都是统计生成的表,而且列数不固定,有点晕

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/13 21:55:00 [只看该作者]

一样遍历所有列处理。

 回到顶部
帅哥哟,离线,有人找我吗?
lgj716330
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1295 积分:10009 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2021/9/13 23:07:00 [只看该作者]

Dim dic As new Dictionary(of String, String)
Dim Lst As New List(Of Integer)
For Each dc As Col  In Tables("结算_Table2").cols
    If dc.name<>"工厂" And dc.name<>"姓名" And dc.name<>"合计" Then
        dic.add(dc.Caption, dc.name)
        Lst.Add(dc.Caption)
    End If
Next

Dim dic1 As new Dictionary(of String, String)
Dim Lst1 As New List(Of Integer)
For Each dc As Col  In Tables("结算_Table1").cols
    If dc.name<>"工厂" And dc.name<>"款号" And dc.name<>"合计" Then
        dic1.add(dc.Caption, dc.name)
        Lst1.Add(dc.Caption)
    End If
Next

Dim sm As Double
For Each r As Row In Tables("结算_Table2").Rows
    For Each r1 As Row In Tables("结算_Table1").Rows
        For i As Integer = Lst.count-1 To 0 Step -1
            sm = r(dic(Lst(i)))*r1(dic1(Lst1(i)))
            r("合计") = r("合计")+sm
        Next    
    Next
Next

按一次会累加一次,不知怎么退出
[此贴子已经被作者于2021/9/13 23:48:19编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lgj716330
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1295 积分:10009 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2021/9/14 0:01:00 [只看该作者]

Dim sm As Double
For Each r As Row In Tables("结算_Table2").Rows
    r("合计") = Nothing
    For Each r1 As Row In Tables("结算_Table1").Rows
        For i As Integer = Lst.count-1 To 0 Step -1
            sm = r(dic(Lst(i)))*r1(dic1(Lst1(i)))
            r("合计") = r("合计")+sm
        Next    
    Next
Next

 回到顶部