让不同用户处理不同的列
前面我们已经学会了如何设置代码,使得某些列只能被特定的用户编辑。
有的时候,可能希望某些列只能被特定的用户查看和编辑,而其他用户连查看都是不允许的。
假定一个表,要求:
1、张三和李四不能看到第一列、第二列和第三列。
2、王五和赵六不能看到第四列、第五列和第六列。
3、只有张经理编辑才能看到第十列。
为此可以在项目的AfterOpenProject事件中设置代码:
Select
Case User.Name提示:上述代码必须重新打开项目才会正常生效,切换用户是无效的。
上述代码在打开项目后执行,移除登录用户无权处理的列,例如王五登录后,第四列、第五列和第六列将被移除(注意不是删除),即使执行取消隐藏列命令,也无法将这些列重新显示出来。
虽然这些列已经从Table中移除,用户无法编辑和查看其内容,但是仍然可以通过代码或表达式使用或设置这些列的内容。
上述代码是基于用户名的,同样可以改为基于用户分组,只需将上述代码中的User.Name改为User.Group,并将用户名替换为分组名即可。