Foxtable(狐表)用户栏目专家坐堂 → 关联表同步更新问题


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

主题:关联表同步更新问题

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
关联表同步更新问题  发帖心情 Post By:2015/12/23 13:35:00 [显示全部帖子]

在快捷菜单中设置了"同步本表"

Dim t As Table = CurrentTable
If t.IsRelation = False
    t.DataTable.Load()
End If
它只针对主表,在关联表中不会出现该菜单.如何解决关联表的同步


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2015/12/23 16:15:00 [显示全部帖子]

刚开完会。是这样:

A表是总帐表,B表是明细表,A.B是关联表,在总帐表中盘那个右键快捷菜单,有【同步本表】菜单,但在A.B表右键快捷菜单却没有【同步本表】菜单,而窗口中B表是不可见的。

 


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2015/12/23 16:45:00 [显示全部帖子]

Popup事件代码正常,为什么主表可以显示【同步本表】快捷菜单,而关联表不显示
[此贴子已经被作者于2015/12/23 16:44:46编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2016/1/12 14:58:00 [显示全部帖子]

以下是引用大红袍在2015/12/23 14:10:00的发言:

同步主表,不就是同步关联表了吗?

 

关联表的数据,就是直接对主表的筛选而已。

不是的,关联表是一对多的多方,它有明细数据,只是显示与主表关联的数据.同步主表并不能同步关联表,如果在快捷菜单显示"同步表"则不起作用


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2016/1/12 15:51:00 [显示全部帖子]

第3条的同步方法我看了,但不能解决实际应用.实际应用时,装载表的窗口已经打开,总不能需要同步的时候再打开窗口,如果用按钮同步,则每个窗口都要设置按钮,很麻烦,快捷菜单中的同步表是同步当前表,不需要指定表名,


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2016/1/12 16:41:00 [显示全部帖子]

我修改了快捷菜单Cell菜单的 Popup事件

e.ContextMenu.Items("DockSetting").Visible= (CurrentTable.IsChild OrElse CurrentTable.IsParent)
e.ContextMenu.Items("Filter").Enabled = (CurrentTable.Current IsNot Nothing)
e.ContextMenu.Items("Load").Visible = (CurrentTable.IsRelation = True OrElse CurrentTable.IsRelation = False)
'e.ContextMenu.Items("Load").Visible = (CurrentTable.IsRelation = False) '如果是关联表则不可见

这样不管在主表还是关联表都显示"同步表"命令.快捷菜单代码
Dim t As Table = CurrentTable
If t.IsRelation = True OrElse t.IsRelation = False
    t.DataTable.Load()
End If

分别在主表和关联表操作,对关联表不起作用

[此贴子已经被作者于2016/1/12 16:41:37编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2016/1/12 16:44:00 [显示全部帖子]

e.DataTable.LoadChildren("表名")
这样加载的话设及表名


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2016/1/12 19:11:00 [显示全部帖子]

快捷菜单只操作当前表,不涉及表名

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2016/1/12 20:07:00 [显示全部帖子]

主表关联表都想用快捷菜单加载,当前表只有一个
Dim t As Table = CurrentTable
If t.IsRelation = False
    t.DataTable.Load()
    t.DataTable.LoadChildren("?")
End If

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2016/1/12 20:11:00 [显示全部帖子]

如果在主表操作就要指定关联表的表名,如果在关联表操作,就要指定主表的表名,一涉及表名,通过快捷菜单同步表就不适用了

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