以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于自动查找关联表相关行的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=7126)

--  作者:cxabc123
--  发布时间:2010/5/18 8:52:00
--  关于自动查找关联表相关行的问题
比如说在子表选定了某行,打开父表时,能够自动选定到父表的对应行,这样的代码是怎样的。我好像在哪儿见过,但现在就是找不到,请哪位指点以下
--  作者:狐狸爸爸
--  发布时间:2010/5/18 8:54:00
--  
参考CurrentChanged事件
--  作者:cxabc123
--  发布时间:2010/5/18 9:18:00
--  
能提供比较具体一点的代码吗
--  作者:狐狸爸爸
--  发布时间:2010/5/18 9:19:00
--  

帮助中CurrentChanged事件的说明,提供了两个例子,第一个例子就是你要的,具体得不能再具体了。

 


--  作者:cxabc123
--  发布时间:2010/5/18 15:26:00
--  
以下是引用狐狸爸爸在2010-5-18 9:19:00的发言:

帮助中CurrentChanged事件的说明,提供了两个例子,第一个例子就是你要的,具体得不能再具体了。

 

这段代码设置上有些问题,当在父表点击有些行时会提示错误信息,这是什么原因


--  作者:cxabc123
--  发布时间:2010/5/18 15:34:00
--  

Dim wz As Integer
Dim
dr As DataRow
dr = DataTables("客户").Find("[客户ID] = \'" & e.Table.Current("客户ID") & "\'")
If
dr IsNot Nothing Then
    wz = Tables("客户").FindRow(dr)
    If wz >= 0 Then
        Tables
("客户").Position = wz
    End If
End
If

 

 

这段代码能不能改成这样的,并放到CurrentTableChanged事件里:

 

 

Dim wz As Integer
Dim
dr As DataRow
dr = DataTables("客户").Find("[客户ID] = \'" & CurrentTable.Current("客户ID") & "\'")
If
dr IsNot Nothing Then
    wz = Tables("客户").FindRow(dr)
    If wz >= 0 Then
        Tables
("客户").Position = wz
    End If
End
If

 

好像也不是太好

 

[此贴子已经被作者于2010-5-18 15:35:00编辑过]