以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  关联表如何取不同列的值  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=150723)

--  作者:坎斯克
--  发布时间:2020/6/5 16:33:00
--  关联表如何取不同列的值
 径级   2米   3米  
   8   0.011   0.017
    10       0.017     0.026
如何实现“材积”列 随 “长度”列和“径级”列自动取值
  长度   径级   材积  根支    米数    
   2   8   0.011   3   0.033   
   3   8   0.017   2   0.034   

请王者们解惑



--  作者:有点蓝
--  发布时间:2020/6/5 16:48:00
--  
没看懂。请上传实例说明问题
--  作者:坎斯克
--  发布时间:2020/6/5 19:55:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:材积表.xls

 表中有 径级列 和材积列 (对应的 2米、3米、4米、6米的材积)
 如何实现 当选取对应的 长度(如2米)和对应的材积(如22)
   长度 径级    材积   根支   米数    
   2   22   0.084   3   0.252   
   3   8   0.017         
材积会自动填充为 0.084 呢
当长度选择“3” 径级选择 “8”时 材积会自动填充“0.017” 
 附 材积表(2、3、4、6米)

--  作者:有点蓝
--  发布时间:2020/6/6 10:13:00
--  
datacolchanged事件

Select Case e.DataCol.Name
    Case "长度","径级"
        If e.DataRow.isnull("长度") OrElse e.DataRow.isnull("径级") Then
            e.DataRow("材积") = Nothing
        Else
            Dim dr As DataRow
            dr = DataTables("材积表").Find("[径级] = \'" & e.DataRow("径级") & "\'")
            If dr IsNot Nothing Then
                e.DataRow("材积") = dr(e.DataRow("长度") & "米材积")
            End If
        End If
End Select