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


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

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

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


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
如何引用其他表的多条件计算  发帖心情 Post By:2019/8/13 14:21:00 [只看该作者]

 1.当”计算表“的“类型”是面

重量=材的变量*面积

2.当”计算表“的“类型”是平

重量=材的变量*系数*面积

3.当”计算表“的“类型”是平1

重量=材的变量*系数*面积

4.当”计算表“的“类型”是中

重量=材的变量*面积

5.当”计算表“的“类型”是底

重量=材的变量*面积


注:公式中
   1. “材的变量”是来自“材变量表”;
   2.   “系数”是来自“平类系数表”;
注:被引表是条件,其条件变量,不能写死。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:折分计算.table


请老师,指导,谢谢


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


加好友 发短信
等级:超级版主 帖子:107146 积分:544973 威望: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

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


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2019/8/13 15:13:00 [只看该作者]

 老师,报错Select Case e.DataCol.Name,
请老师,指导,由菜鸟,请加详细注解,谢谢

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


加好友 发短信
等级:超级版主 帖子:107146 积分:544973 威望: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

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


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2019/8/13 15:44:00 [只看该作者]

老师,我想做一个界面互动,上面项目,在窗口上用按键执行,因为这个目前软件都是这样,单击事件。谢谢

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


加好友 发短信
等级:超级版主 帖子:107146 积分:544973 威望: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

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


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2019/8/13 17:16:00 [只看该作者]


老师,我想遍历数组,循环,写下面,报错循环错,这个要如何遍历数组,循环,请老师,指导,谢谢

 Dim Names As String() = {"重量"}
For i As Integer = 0 To Names.Length -1
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

    Output.Show(Names(i))
Dim Names As String() = {"重量"}
For i As Integer = 0 To Names.Length -1
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

    Output.Show(Names(i))
Next

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


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

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

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


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2019/8/13 17:58: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
上面代码是单个,我想遍历数组,循环,批量操作





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


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

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

 回到顶部
总数 12 1 2 下一页