以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求解关于跨表条件更新选择相关数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=118491) |
||||
-- 作者:mrlua88 -- 发布时间:2018/5/4 10:20:00 -- 求解关于跨表条件更新选择相关数据 项目上有2个表 其中表A是参数表,B表为参数数据显示表,参考过跨表更新技术文档,只能更新设置的3列数据。 表A是参数表,其中表A中【位置】列作为B表的【位置选择】列,,而表A的 A1 A2 A3 A4 A5 A6为参考数据,目的是,在表B里通过【选择或修改(位置选择)内容】,自动带出 相关A1 A2 A3 A4 A5 A6的其中三列内容。 例如:在表B选择位置A ,参数1、参数2、参数3带出表A那边A1 A3 A5列数据; 在表B选择位置B ,参数1、参数2、参数3带出表A那边带出A2 A4 A6列数据; 在表B选择位置C ,参数1、参数2、参数3带出表A那边带出A1 A2 A3列数据; 在表B选择位置D ,参数1、参数2、参数3带出表A那边带出A4 A5 A6列数据。 就是需要做这个效果。项目已经上传,已经做了跨表更新,只能更新设置的三列。。求解答,谢谢
|
||||
-- 作者:有点甜 -- 发布时间:2018/5/4 10:25:00 -- If e.DataCol.Name = "位置选择" Then If e.NewValue Is Nothing Then e.DataRow("参数1") = Nothing e.DataRow("参数2") = Nothing e.DataRow("参数3") = Nothing Else Dim dr As DataRow dr = DataTables("表A").Find("[位置] =\'" & e.NewValue & "\'" ) If dr IsNot Nothing If e.newvalue = "A" Then e.DataRow("参数1") = dr("A1") e.DataRow("参数2") = dr("A3") e.DataRow("参数3") = dr("A5") ElseIf e.newvalue = "B" Then e.DataRow("参数1") = dr("A2") e.DataRow("参数2") = dr("A4") e.DataRow("参数3") = dr("A6") End If End If End If End If |
||||
-- 作者:mrlua88 -- 发布时间:2018/5/4 10:34:00 -- 以下是引用有点甜在2018/5/4 10:25:00的发言:
If e.DataCol.Name = "位置选择" Then If e.NewValue Is Nothing Then e.DataRow("参数1") = Nothing e.DataRow("参数2") = Nothing e.DataRow("参数3") = Nothing Else Dim dr As DataRow dr = DataTables("表A").Find("[位置] =\'" & e.NewValue & "\'" ) If dr IsNot Nothing If e.newvalue = "A" Then e.DataRow("参数1") = dr("A1") e.DataRow("参数2") = dr("A3") e.DataRow("参数3") = dr("A5") ElseIf e.newvalue = "B" Then e.DataRow("参数1") = dr("A2") e.DataRow("参数2") = dr("A4") e.DataRow("参数3") = dr("A6") End If End If End If End If 解决了 谢谢。 |