以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 请教:如何在有关联的表间切换时定位到关联记录  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=11809)

--  作者:leibnitz
--  发布时间:2011/8/12 14:26:00
--  [求助] 请教:如何在有关联的表间切换时定位到关联记录

请教:如何在有关联的表间切换时在切入的表中自动定位到切换前的表中 “当前选定” 记录的关联记录(父记录,或者首条子记录)

我依稀记得论坛有一篇帮助,可是找不到了。

[此贴子已经被作者于2011-8-12 14:27:39编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/8/12 14:31:00
--  

示例一:
  
http://www.foxtable.com/help/topics/0641.htm

 

[此贴子已经被作者于2011-8-12 14:31:26编辑过]

--  作者:leibnitz
--  发布时间:2011/8/12 15:37:00
--  [原创] ^_^ 谢谢老大,辛苦啦

^_^ 谢谢老大,辛苦啦! 不过,我要面对的问题可能更加复杂些:

 

用 A(aID) -->B(aID;bID) 表示: 父表A-->子表B  的关联,关联字段(aID)

 

那末,我遇到的问题是:

 

O(oID) --> A (oID;aID)

O(oID) --> D (oID;dID)

O(oID) --> M (oID;mID) --> WP (mID;mpID) --> MP (mpID)

O(oID) --> M (oID;mID) --> WS (mID)

如果,用以下的思路: 

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

 

要实现O,A,D,M,WP,WS 几个表间自由切换都能“有关联的显示”,用上述方法似乎不容易解决啊?

 

 

莫非:用全局变量??

[此贴子已经被作者于2011-8-12 16:03:48编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/8/12 16:04:00
--  

看不懂你的问题。

启动双向关联,啥相关数据都能出来的。


--  作者:leibnitz
--  发布时间:2011/8/12 16:17:00
--  [求助] 是啊,在关联表窗口,确实如此。可是在主表间切换的话。。。

老大,如你所说,利用双向联接,在关联表窗口,确实可以。

 

 

可是:即使两表已经建立了关联,且选择了双向关联,也只是在关联窗口可以相关的显示,而在主表则不然,所以,如果在主表间切换,能否做到“当前记录是切换前表所选择记录的相关记录”呢?

 

另外,正如您在帮助文件中告诫我们的,双向关联,尤其是当表的数量增加时,双向关联会表的数量会激增,可以影响到系统性能啊。。

[此贴子已经被作者于2011-8-12 16:22:01编辑过]