以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何引用其他表的多条件计算  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=139462)

--  作者:lgz518
--  发布时间:2019/8/13 14:21:00
--  如何引用其他表的多条件计算
 1.当”计算表“的“类型”是面

重量=材的变量*面积

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

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

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

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

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

重量=材的变量*面积

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

重量=材的变量*面积


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


请老师,指导,谢谢


--  作者:有点蓝
--  发布时间: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
--  发布时间:2019/8/13 15:13:00
--  
 老师,报错Select Case e.DataCol.Name,
请老师,指导,由菜鸟,请加详细注解,谢谢

--  作者:有点蓝
--  发布时间:2019/8/13 15:21:00
--  
代码放到datacolchanged事件:http://www.foxtable.com/webhelp/topics/1445.htm
--  作者:lgz518
--  发布时间:2019/8/13 15:44:00
--  
老师,我想做一个界面互动,上面项目,在窗口上用按键执行,因为这个目前软件都是这样,单击事件。谢谢

--  作者:有点蓝
--  发布时间: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
--  发布时间: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
--  作者:有点蓝
--  发布时间:2019/8/13 17:34:00
--  
没看懂要做什么。使用文字描述一下要做什么功能
--  作者:lgz518
--  发布时间: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
上面代码是单个,我想遍历数组,循环,批量操作





--  作者:有点蓝
--  发布时间:2019/8/13 20:58:00
--  
遍历什么数组?对什么进行循环,批量操作?这个表所有行?