Foxtable(狐表)用户栏目专家坐堂 → 三个表的数据关联


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

主题:三个表的数据关联

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/22 15:23:00 [显示全部帖子]

 不明白你什么意思,填充数据参考

 

http://www.foxtable.com/webhelp/scr/0680.htm

 

http://www.foxtable.com/webhelp/scr/1533.htm

 


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/22 15:45:00 [显示全部帖子]

Dim dtb As DataTable = DataTables("表B")
Dim dtc As DataTable = DataTables("表C")
Dim dtd As DataTable = DataTables("表d")
For Each drb As DataRow In dtb.DataRows
    Dim fdrc As DataRow = dtc.Find("别人编号 = '" & drb("编号") & "'")
    If fdrc IsNot Nothing Then
        Dim fdrd As DataRow = dtd.Find("编号 = '" & fdrc("我们编号") & "'")
        If fdrd Is Nothing Then
            fdrd = dtd.AddNew
        End If
        For Each dcb As DataCol In dtb.DataCols
            fdrd(dcb.name) = drb(dcb.name)
        Next
        fdrd("编号") = fdrc("我们编号")
    End If
Next

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/22 16:14:00 [显示全部帖子]

Dim dtb As DataTable = DataTables("表B")
Dim dtc As DataTable = DataTables("表C")
Dim dtd As DataTable = DataTables("表d")

Dim trv As WinForm.TreeView = Forms("关联").Controls("TreeView1")
For Each nd As WinForm.TreeNode In trv.AllNodes
    If nd.Checked AndAlso nd.Text <> "所有" AndAlso nd.Level = 0 Then
        Dim drb As DataRow = dtb.Find("编号 = '" & nd.text & "'")
        Dim fdrc As DataRow = dtc.Find("别人编号 = '" & drb("编号") & "'")
        If fdrc IsNot Nothing Then
            Dim fdrd As DataRow = dtd.Find("编号 = '" & fdrc("我们编号") & "'")
            If fdrd Is Nothing Then
                fdrd = dtd.AddNew
            End If
            For Each dcb As DataCol In dtb.DataCols
                fdrd(dcb.name) = drb(dcb.name)
            Next
            fdrd("编号") = fdrc("我们编号")
            fdrd("地接名称") = fdrc("别人编号")
        End If
    End If
Next


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/22 16:45:00 [显示全部帖子]

Dim dtb As DataTable = DataTables("表B")
Dim dtc As DataTable = DataTables("表C")
Dim dtd As DataTable = DataTables("表d")

Dim trv As WinForm.TreeView = Forms("关联").Controls("TreeView1")
For Each nd As WinForm.TreeNode In trv.AllNodes
    If nd.Checked AndAlso nd.Text <> "所有" AndAlso nd.Level = 0 Then
        Dim drb As DataRow = dtb.Find("编号 = '" & nd.text & "'")
        If drb IsNot Nothing Then
            Dim fdrc As DataRow = dtc.Find("别人编号 = '" & drb("编号") & "'")
            If fdrc IsNot Nothing Then
                Dim fdrd As DataRow = dtd.Find("编号 = '" & fdrc("我们编号") & "'")
                If fdrd Is Nothing Then
                    fdrd = dtd.AddNew
                End If
                For Each dcb As DataCol In dtb.DataCols
                    fdrd(dcb.name) = drb(dcb.name)
                Next
                fdrd("编号") = fdrc("我们编号")
                fdrd("地接名称") = fdrc("别人编号")
            End If
        End If
    End If
Next


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/22 16:59:00 [显示全部帖子]

 例子测试没问题。上传实例说明。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/22 17:23:00 [显示全部帖子]

 你【关联】窗口打开了没有?你要打开,勾选对应的目录树,才能运行代码。

 回到顶部