以文本方式查看主题

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

--  作者:cxabc123
--  发布时间:2013/7/3 9:40:00
--  如何判定某表的父表
有表A 、表B、表C、表D,其中表A是父表,表B是子表,现在从表A、表C、表D中判断表B的父表是表A,判断代码如何写
--  作者:Bin
--  发布时间:2013/7/3 9:42:00
--  
可以根据关联名称来获得  http://www.foxtable.com/help/topics/1941.htm

如果不知道关联名称 也可以循环所有关联 判断子表名称来实现

--  作者:cxabc123
--  发布时间:2013/7/3 11:36:00
--  
以下是引用Bin在2013-7-3 9:42:00的发言:
可以根据关联名称来获得  http://www.foxtable.com/help/topics/1941.htm

如果不知道关联名称 也可以循环所有关联 判断子表名称来实现

我的意思是:在窗口的ComboBox1组合框中选定的是表B,那么在ComboBox2组合框中自动根据表B生成表B的父表为列表项目(表B的父表可能不止一个),这样代码应该如何写,请指点


--  作者:Bin
--  发布时间:2013/7/3 11:38:00
--  
2楼不是给出思路给你了吗?
--  作者:cxabc123
--  发布时间:2013/7/3 14:50:00
--  
以下是引用Bin在2013-7-3 11:38:00的发言:
2楼不是给出思路给你了吗?

还是没有看出思路,在窗口的ComboBox1组合框中列表项目可能有10个待选的表,当选定某个表,比如是表B,那么在ComboBox2组合框中自动根据ComboBox1组合框选定的表列出父表,在Output.Show("父表:" & Re.ParentTable.Name)这段代码中,他判定的是关联的父表,如何判定某表(表B)的父表并没有介绍清楚

[此贴子已经被作者于2013-7-3 14:53:04编辑过]

--  作者:cxabc123
--  发布时间:2013/7/3 15:05:00
--  

知道了,谢谢,应该是这样的思路
For Each re As Relation In Relations    
    If Tables("表B").IsChild = False Then
        Output.Show("父表:" & Re.ParentTable.Name)
    End If
Next

 

但还是有问题,所有关联表的父表都列出来了

[此贴子已经被作者于2013-7-3 15:09:17编辑过]

--  作者:Bin
--  发布时间:2013/7/3 15:14:00
--  
For Each re As Relation In Relations
  if Re.ChildTable.Name="表B" then
    Output
.Show("父表:" & Re.ParentTable.Name
)
 end if
Next

--  作者:cxabc123
--  发布时间:2013/7/3 15:18:00
--  

谢谢,得到解决

Dim s As String
For Each re As Relation In Relations
    If Re.ChildTable.Name="表B" Then       
        s= s &  "|" & Re.ParentTable.Name       
    End If
Next
Output.Show("父表:" & s)

[此贴子已经被作者于2013-7-3 15:21:15编辑过]