Foxtable(狐表)用户栏目专家坐堂 → 锁定表情况下的代码增加删除行问题


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

主题:锁定表情况下的代码增加删除行问题

美女呀,离线,留言给我吧!
judyhu2008
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:154 积分:1217 威望:0 精华:0 注册:2015/10/29 16:22:00
锁定表情况下的代码增加删除行问题  发帖心情 Post By:2016/2/13 21:18:00 [只看该作者]

这个问题之前论坛里有人问过,不过没有得到满意的答案。

我测试了一下,把表属性里的允许修改/增加行/删除行等属性都设置为False,直接添加是不行,不过用代码,TABLES("GE").ADDNEW, TABLES(GE").CURRENT.DELETE照样可以执行。

用了另一种方法,在命令窗口写代码:
Tables("表A").allowaddnew=False
Tables("表A").addnew
ADDNEW的动作也还是执行了。

“这是为什么呢?“,有什么办法,可以真正做到不允许新增删除行吗?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/14 0:03:00 [只看该作者]

去编写 beforeAddDataRow 事件即可

 

e.cancel = not e.DataTable.AllowAddNew


 回到顶部
美女呀,离线,留言给我吧!
judyhu2008
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:154 积分:1217 威望:0 精华:0 注册:2015/10/29 16:22:00
  发帖心情 Post By: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
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:154 积分:1217 威望:0 精华:0 注册:2015/10/29 16:22:00
  发帖心情 Post By:2016/2/17 10:08:00 [只看该作者]

另外,有没有办法全局设定对所有的表有效,一个系统里有很多表,如果一个表一个表去设置会很麻烦。
谢谢指教。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/17 10:09:00 [只看该作者]

不可能,弹出值看一下

 

msgbox(e.DataTable.Allowdelete)

 

 


 回到顶部