Foxtable(狐表)用户栏目专家坐堂 → 如何引用其他表的多条件计算


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

主题:如何引用其他表的多条件计算

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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/13 14:44:00 [显示全部帖子]

例如

Select Case e.DataCol.Name
    Case "平类","材","面积","类型"
        Select Case e.DataRow("类型")
            Case "面"
                Dim dr1 As DataRow = DataTables("材变量表").Find("材='" & e.DataRow("材") & "'")
                If dr1 Is Nothing Then Return
                'Dim dr2 As DataRow = DataTables("平类系数表").Find("平类='" & e.DataRow("平类") & "'")
                'If dr2 Is Nothing Then Return
                e.DataRow("重量") = dr1("克重") * e.DataRow("面积")
            Case "平"
                
        End Select
End Select

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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/13 15:21:00 [显示全部帖子]

代码放到datacolchanged事件:http://www.foxtable.com/webhelp/topics/1445.htm

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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/13 16:02:00 [显示全部帖子]

dim r as row = tables("计算表").current
if r isnot nothing then
   Select Case r("类型")
            Case "面"
                Dim dr1 As DataRow = DataTables("材变量表").Find("材='" & r("材") & "'")
                If dr1 Is Nothing Then Return
                'Dim dr2 As DataRow = DataTables("平类系数表").Find("平类='" & r("平类") & "'")
                'If dr2 Is Nothing Then Return
                r("重量") = dr1("克重") * r("面积")
            Case "平"
                
        End Select
end if

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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/13 17:34:00 [显示全部帖子]

没看懂要做什么。使用文字描述一下要做什么功能

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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/13 20:58:00 [显示全部帖子]

遍历什么数组?对什么进行循环,批量操作?这个表所有行?

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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/14 9:14:00 [显示全部帖子]

for each r as row in tables("计算表").rows
Select Case r("类型")
            Case "面"
                Dim dr1 As DataRow = DataTables("材变量表").Find("材='" & r("材") & "'")
                If dr1 Is Nothing Then Return
                'Dim dr2 As DataRow = DataTables("平类系数表").Find("平类='" & r("平类") & "'")
                'If dr2 Is Nothing Then Return
                r("重量") = dr1("克重") * r("面积")
            Case "平"
                
        End Select
next

 回到顶部