Foxtable(狐表)用户栏目专家坐堂 → 关于动态添加关联的问题


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

主题:关于动态添加关联的问题

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/11/30 7:55:00 [显示全部帖子]

以下是引用狐狸爸爸在2011-11-29 23:49:00的发言:

实际上窗口设计也一样,我可以加载表B,在表A设计表B的窗口,绑定到表B各列,然后删除表B.

需要使用表B的时候,再动态加载表B,打开之前在表A中设计的表B的窗口即可。

    老大,这个我明白.今后的思路之一.

    但是表B如果有表事件代码咋办?还是要加载的,没有代码到是可以的.


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/11/30 7:56:00 [显示全部帖子]

因为除了表,还有窗口,代码没有多少,就是关联多一点,所以应该是关联的问题.

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/11/30 7:59:00 [显示全部帖子]

3、至于同步锁定,同步更新,同步删除,这些不需要关联一样可以做到。

例如在没有建立关联的时候要同步删除,只需将父表的BeforeDeleteDataRow事件代码设置为:

Datatables("子表名称").DeleteFor("子表关联列 = '" & e.DataRow("父表关联列") & "'")

 

 

也就是说锁定等同步的工作的代码现在已经做的不能用了,要写条件的代码.明白了,和我现在用的虚拟关联一个道理.


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/11/30 8:02:00 [显示全部帖子]

、正常建立关联,设计表的时候,将Table绑定到关联表。

2、删除关联,需要的时候,先创建关联:

 

Relations.Add("A",DataTables("办公用品领用单").DataCols("系统单号"),DataTables("办公用品领用单明细").DataCols("系统单号"))
Forms("XXX").Open()

 

 

 这个不明白,程序是不是这样的,第一步先建立一个关联,然后是在窗口建立一个表,然后将关联绑定,然后在删除那个关联.

 

Relations.Add("A",DataTables("办公用品领用单").DataCols("系统单号"),DataTables("办公用品领用单明细").DataCols("系统单号"))
  也就是说,这个关联不能放在窗口事件中,要单独做按钮处理?


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/11/30 8:32:00 [显示全部帖子]

目前看来:

1、为了方便所有窗口集中在一个内部表设计,以前否决的窗口管理器加上分类的建议应该采纳。

2、应该加一个可以动态绑定到关联表的方法。

 

 

 这个好!


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/11/30 8:36:00 [显示全部帖子]

1、分成不同的项目,例如销售、生产、财务、人士、仓管,共享一个数据库,各项目只加载自己的表,但是菜单中会有切换到其他项目的按钮,这是常规的设计方式,难度低。   我自己的就是采取的这个办法.但是现在这个是人家要求的.唉! 动态数据的加载这个我都懂.

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/12/1 12:22:00 [显示全部帖子]

实际上窗口设计也一样,我可以加载表B,在表A设计表B的窗口,绑定到表B各列,然后删除表B.

需要使用表B的时候,再动态加载表B,打开之前在表A中设计的表B的窗口即可。

 

老大你这个方法具体是怎么做的,我绑定了列,然后删除了表B,但是窗口的文本框就不绑定了.

加载用什么函数?

 

 

我用fill是不行的.


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/12/1 13:35:00 [显示全部帖子]

会了.


 回到顶部