以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  引用问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=17046)

--  作者:7032175
--  发布时间:2012/3/2 8:45:00
--  引用问题

引用表为主表
数据库表为辅助表


首先我在引用表里面的名头列写上内容,(注:这个名头列里面写的内容与数据库里面的名头列数据一样)

 

而后我在表名列中输入内容,如:我输入数据库1,那么就会引用数据库1的表里面和引用表里面相对应的名头的数据,
如果我把数据库1变为数据库2这时就会变更相应的数据库2的内容。

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:引用问题 (2).table


--  作者:狐狸爸爸
--  发布时间:2012/3/2 8:53:00
--  

你在引用表的名头列输入“数据库1”,引用数据库1表中相对应名头的数据? 问题是数据库1表有很多行,引用哪一行?

请清晰地说明问题。


--  作者:7032175
--  发布时间:2012/3/2 9:57:00
--  

引用对应的名头行  

 

 

就是说引用对应的数据库表与对应的名头行


--  作者:狐狸爸爸
--  发布时间:2012/3/2 9:59:00
--  
引用表,就一个名头列,同时要区分表头和名头,这怎么可能?
--  作者:7032175
--  发布时间:2012/3/2 12:04:00
--  

引用表里面有二列 一个是名头一个表头的列


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20120302120239.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20120302120303.png
图片点击可在新窗口打开查看

--  作者:7032175
--  发布时间:2012/3/2 13:24:00
--  

引用条件 必须满足名头和表名二个条件才能引用相应的数据。


--  作者:狐狸爸爸
--  发布时间:2012/3/2 15:12:00
--  

设置引用表的DataColChanged事件:

 

Select Case e.DataCol.Name
    Case "名头","表名"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("名头") = False AndAlso dr.IsNull("表名") = False AndAlso DataTables.Contains(dr("表名")) Then
            Dim dt As DataTable = DataTables(dr("表名"))
            Dim dr2 As DataRow = dt.Find("名头 = \'" & dr("名头") & "\'")
            Dim nms() As String = {"第三列","第四列","第五列","第六列","第七列"}
            If dr2 IsNot Nothing Then
                For Each nm As String In nms
                    dr(nm) = dr2(nm)
                Next
            End If
        End If
End Select