以文本方式查看主题

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

--  作者:和谐
--  发布时间:2021/2/20 22:35:00
--  [求助]老师我按照帮助再关联表里设置禁止编辑后主表还是可以编辑?

不管一个表对应有多少个Table,这些Table都是共享事件的,例如我们在订单明细PrepareEdit事件中加上代码:

e.Cancel = True

那么Tables("订单明细")和Tables("订单.订单明细")都是不可以编辑的了。


但是我再明细填入这个代码后在主表还是可以选择和填写


--  作者:有点蓝
--  发布时间:2021/2/21 19:42:00
--  
我测试没有问题,请上传实例说明
--  作者:和谐
--  发布时间:2021/3/4 11:01:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:关联表禁止编辑.rar

老师请看一下是什么问题

--  作者:有点蓝
--  发布时间:2021/3/4 11:15:00
--  
选中关联表设置表事件其实设置的是子表表B的表事件,仅影响表B和表B为子表的关联表,和其它表没有任何关系
--  作者:和谐
--  发布时间:2021/3/4 11:21:00
--  
那么Tables("订单明细")和Tables("订单.订单明细")都是不可以编辑的了。
老师那这句话是怎么理解呢?怎么可以让关联都是不可以编辑呢?


--  作者:有点蓝
--  发布时间:2021/3/4 11:58:00
--  
选中"订单.订单明细"表设置表事件,其实设置的就是"订单明细"的事件,可以同时控制Tables("订单明细")和Tables("订单.订单明细")(以及订单明细为子表的关联表,如Tables("表A.订单明细")),但是对订单表没有任何影响,也不会对其它关联表比如Tables("订单.表C")、Tables("订单.订单明细.表C")有影响。

如果要对所有关联表控制,需要所有子表全部设置一遍,比如有这样几个关联表都要控制:
Tables("订单.订单明细")
Tables("订单.表C")
Tables("订单.表D")
Tables("订单.订单明细.表E")

那么就要到订单明细、表C、表D、表E的表事件分别写代码处理