以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关于关联表的联动  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=120477)

--  作者:5159518
--  发布时间:2018/6/16 20:02:00
--  [求助]关于关联表的联动
有表A和表B,建立关联表A.表B

如何实现选择关联表A.表B是,将焦点自动定位到表B的对应行?

--  作者:5159518
--  发布时间:2018/6/16 21:05:00
--  
怎么会没有人回复呢?
--  作者:有点甜
--  发布时间:2018/6/17 15:33:00
--  

示例一

假定我正在订单表操作,我们希望在订单表中选定一行时,客户表的光标能够自动定位到该客户,这样我一旦从订单表回到客户表,即可看到刚刚所选订单的客户资料。
为此我们在CurrentChanged事件中设置如下代码: 

 

If e.Table.Current Is Nothing Then \'如果Current为Nothing
    Return \'则返回
End
 If

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


--  作者:5159518
--  发布时间:2018/6/17 17:40:00
--  
以下是引用有点甜在2018/6/17 15:33:00的发言:

示例一

假定我正在订单表操作,我们希望在订单表中选定一行时,客户表的光标能够自动定位到该客户,这样我一旦从订单表回到客户表,即可看到刚刚所选订单的客户资料。
为此我们在CurrentChanged事件中设置如下代码: 

 

If e.Table.Current Is Nothing Then \'如果Current为Nothing
    Return \'则返回
End
 If

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



老师,我说的是操作关联表“表A.表B”,光标不会自动定位到“表B”的对应行,您说的是操作表B,光标自动定位到表A的对应行,两者不一样的操作方法,而且我也没有找到关联表“表A.表B”的CurrentChanged事件


--  作者:有点甜
--  发布时间:2018/6/17 17:41:00
--  

1、关联表的事件也是写到表属性里面去;

 

2、如果不会做,请上传具体实例测试。