以文本方式查看主题

-  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=62446)

--  作者:吾家细草
--  发布时间:2015/1/1 11:02:00
--  [求助]小白关于“跨表引用”的疑问

目标功能:

例如,假定产品表(表A)和订单表(表B)通过产品编号(第一列)联系起来(不管是否建立了关联),订单表(表B)输入产品编号(第一列)后,品名(第一列)型号(第二列)、规格(第三列)、单价(第四列)、四列内容从产品表(表A)自动继承输入。
为实现此目的,订单表
的DataColChanged事件代码应设置为:

 

If e.DataCol.Name = "产品编号" Then
    Dim
nms() As String = {"品名","型号","规格","单价"}
    If
e.NewValue Is Nothing Then

        For
Each nm As String In nms

            e
.DataRow(nm) = Nothing

        Next

    Else

        Dim
dr As DataRow

        dr
= DataTables("产品").Find("[产品编号] = \'" & e.NewValue &
"\'")
        If
dr IsNot Nothing
            For Each
nm As String In nms
               
e.DataRow(nm) = dr(nm)
            Next
        End If
    End If
End If

 

我把这段代码复制到表A的datecalchenged后,将产品改为表B,产品编号改为第一列,品名改为第二列,型号改为第三列,规格改为第四列,单价改为第五列。进行以下尝试

1、在表B的1-5列输入数字表A中无法继承相应列中的数据。

2、将表B请空,在表A中输入数据,表B相应列也无法继承数据。

3,表A,表B第一列输入相同数字,然后分别在表A其它列输入数字,表B无法继承数据。

4、表A,表B第一列输入相同数字,然后分别在表B其它列输入数字,表A无法继承数据。

 

请教高手问题在哪里,是代码错误还是我输入数字时先后顺序不对。

 


--  作者:as2517
--  发布时间:2015/1/1 12:06:00
--  
你要产品表继承订单表的内容还是订单表要继承产品表的内容。

假如是订单表继承产品表的内容。你在订单表要先输入跟产品表对应的编号才行,好像是。
[此贴子已经被作者于2015-1-1 12:07:59编辑过]

--  作者:有点甜
--  发布时间:2015/1/4 12:09:00
--  

 参考例子

 

http://www.foxtable.com/help/topics/2490.htm