以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 锁定表情况下的代码增加删除行问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=80944) |
-- 作者:judyhu2008 -- 发布时间:2016/2/13 21:18:00 -- 锁定表情况下的代码增加删除行问题 这个问题之前论坛里有人问过,不过没有得到满意的答案。 我测试了一下,把表属性里的允许修改/增加行/删除行等属性都设置为False,直接添加是不行,不过用代码,TABLES("GE").ADDNEW, TABLES(GE").CURRENT.DELETE照样可以执行。 用了另一种方法,在命令窗口写代码: Tables("表A").allowaddnew=False Tables("表A").addnew ADDNEW的动作也还是执行了。 “这是为什么呢?“,有什么办法,可以真正做到不允许新增删除行吗?
|
-- 作者:大红袍 -- 发布时间:2016/2/14 0:03:00 -- 去编写 beforeAddDataRow 事件即可
e.cancel = not e.DataTable.AllowAddNew |
-- 作者:judyhu2008 -- 发布时间:2016/2/17 10:06:00 -- 大红袍老师,我已经写了如下代码: 一、在表的prepareedit里: If user.group<> "管理员" Then e.cancel=True End If 二、在beforeadddatarow里: e.cancel = not e.DataTable.AllowAddNew 三、在beforedeletedatarow里: e.cancel = not e.DataTable.Allowdelete 但是我用非管理员账号登录,照常能新增删除行啊。 |
-- 作者:judyhu2008 -- 发布时间:2016/2/17 10:08:00 -- 另外,有没有办法全局设定对所有的表有效,一个系统里有很多表,如果一个表一个表去设置会很麻烦。 谢谢指教。 |
-- 作者:大红袍 -- 发布时间:2016/2/17 10:09:00 -- 不可能,弹出值看一下
msgbox(e.DataTable.Allowdelete)
|