Foxtable(狐表)用户栏目专家坐堂 → 求解关于跨表条件更新选择相关数据


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

主题:求解关于跨表条件更新选择相关数据

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


加好友 发短信
等级:幼狐 帖子:60 积分:828 威望:0 精华:0 注册:2015/1/8 20:57:00
求解关于跨表条件更新选择相关数据  发帖心情 Post By: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列数据。

就是需要做这个效果。项目已经上传,已经做了跨表更新,只能更新设置的三列。。求解答,谢谢

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目11.table


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:60 积分:828 威望:0 精华:0 注册:2015/1/8 20:57:00
  发帖心情 Post By: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

解决了 谢谢。图片点击可在新窗口打开查看


 回到顶部