Foxtable(狐表)用户栏目专家坐堂 → 同一列设置多个关联表,却只能显示其中一个关联表数据


  共有4675人关注过本帖树形打印复制链接

主题:同一列设置多个关联表,却只能显示其中一个关联表数据

帅哥哟,离线,有人找我吗?
foxtable1
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:324 积分:2722 威望:0 精华:0 注册:2012/10/17 10:05:00
同一列设置多个关联表,却只能显示其中一个关联表数据  发帖心情 Post By:2023/4/6 9:46:00 [显示全部帖子]

一个主表A的同一列,建立了两个关联子表1、2,对应关联到两个不同结构的表B、C,主表A选择不同行时,只有子表1会显示关联数据 ,子表2不会显示关联数据(即使切换到子表2,子表2内仍然没有数据)。
1、是什么原因?
2、如何实现:主表A表事件currentchanged发生时,根据current行非关联列的内容,能不能自动切换到子表1或子表2,并显示相关联数据。

 回到顶部
帅哥哟,离线,有人找我吗?
foxtable1
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:324 积分:2722 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2023/4/6 10:06:00 [显示全部帖子]


Tables("关联表2").Visible = false
Tables("关联表1").Visible = True
只能解决子表1、2切换问题,但不能解决子表1、2内的关联数据问题

 回到顶部
帅哥哟,离线,有人找我吗?
foxtable1
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:324 积分:2722 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2023/4/6 10:25:00 [显示全部帖子]

1、表2实际有关联数据 ,应该是没有加载。这种情况如何实现加载子表2?
2、关联关系有优先级吗?能代码设置优先级吗?
3、因表B和表C的结构不同,无法合并,但他们都是表A的子表,碰到如上问题,有好的解决方法吗?

 回到顶部
帅哥哟,离线,有人找我吗?
foxtable1
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:324 积分:2722 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2023/4/6 11:11:00 [显示全部帖子]

If e.Table.Current Is Nothing Then '如果Current为Nothing
    Return '则返回
Else
    If e.Table.Current("执收项目名称").Contains("汇缴") Then
        If relations.Contains("po1") Then
            relations.delete("po1")
        End If
        If relations.Contains("po2") = False Then
            Dim DataCols0 As DataCol
            'Dim DataCols1 As DataCol
            Dim DataCols2 As DataCol
            DataCols0 = DataTables("往来缴款清单_一体化").DataCols("缴款凭证号")
            DataCols2 = DataTables("往来电子piao据_piao据平台").DataCols("缴款凭证号")
             Relations.Add("po2", DataCols0, DataCols2)
              Dim t2 As Table = Tables("往来缴款清单_一体化.往来电子piao据_piao据平台")
               t2.Visible = True
            end if
    Else
        If relations.Contains("po2") Then
            relations.delete("po2")
        End If
        If relations.Contains("po1") = False Then
            Dim DataCols0 As DataCol
            Dim DataCols1 As DataCol
            DataCols0 = DataTables("往来缴款清单_一体化").DataCols("缴款凭证号")
            
            DataCols1 = DataTables("往来电子piao据_公共支付").DataCols("缴款凭证号")
           
            Relations.Add("po1", DataCols0, DataCols1)
          
            Dim t1 As Table = Tables("往来缴款清单_一体化.往来电子piao据_公共支付")
           
            t1.Visible = True
            
        End If
    End If
End If

这样的代码,t1会随currentchanged事件而显示数据,而t2还是没有数据。
同菜单里设置关联的结果似乎一样

 回到顶部
帅哥哟,离线,有人找我吗?
foxtable1
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:324 积分:2722 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2023/4/6 11:18:00 [显示全部帖子]

请问:加载dataTables("表C名")与加载关联子表dataTables("表A名.表C名"),是不一回事,是吗?

 回到顶部
帅哥哟,离线,有人找我吗?
foxtable1
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:324 积分:2722 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2023/4/6 11:23:00 [显示全部帖子]

1、参考:http://www.foxtable.com/webhelp/topics/2228.htm,这个同步加载子表,是完成了的。子表1和子表2都完成了加载的。但是在关联表中,只有子表1有数据,子表2没有数据。

 回到顶部
帅哥哟,离线,有人找我吗?
foxtable1
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:324 积分:2722 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2023/4/6 11:35:00 [显示全部帖子]

行号15,应显示子表2的关联数据 ,但没有(子表2已加载,且子表2内有记录)
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
foxtable1
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:324 积分:2722 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2023/4/6 11:36:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:无标题2.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
foxtable1
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:324 积分:2722 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2023/4/6 11:38:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:无标题3.png
图片点击可在新窗口打开查看
行号16,应显示子表1的关联数据 ,且成功显示(子表1同样已加载,且子表1内有记录)

 回到顶部
帅哥哟,离线,有人找我吗?
foxtable1
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:324 积分:2722 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2023/4/6 12:35:00 [显示全部帖子]

奇怪:将子表2的关联列的内容全选剪切,再保存,再复制回去,再保存。这样操作后,子表2的关联数据才会在关联表中显示。

 回到顶部
总数 17 1 2 下一页