不光可以,而且很简单,下面是帮助文档的内容
让不同用户处理不同的表
通过一些简单的代码,我们可以让不同的人编辑或查看不同的表,也可以为不同的用户加载不同的表。
1、让不同用户编辑不同的表
例如在表A的PrepareEdit设置代码:
Select Case User.Name
Case
"张三","李四"
e.Cancel = True
End Select
即可禁止张三和李四编辑表A。
2、让不同用户查看不同的表
例如在项目事件AfteOpenProject事件中设置代码:
Select
Case User.Name
Case
"张三","李四"
Tables("表A").Visible = False
Case
"王五"
Tables("表B").Visible = False
End
Select
即可使得张三或李四打开项目后,将看不到表A,王五打开项目后,将看不到表B,不过这些表仍然可以通过代码使用。
3、为不同用户加载不同的表
BeforeLoadInnerTable和BeforeLoadOuterTable事件都有一个Cancel属性,将此属性设置为True,将不加载对应的表。
例如在BeforeLoadInnerTable(内部表)或BeforeLoadOuterTable(外部表)中设置代码:
Select
Case e.DataTableName
Case
"表A"
e.Cancel =
(e.User.Name = "张三")
Case
"表B"
e.Cancel
= (e.User.Name = "李四")
Case
"表C"
e.Cancel =
(e.User.Name = "王五")
End
Select
这样张三打开项目,将不会加载表A,需要注意的是,如果打开项目后,有代码引用表A,将会出错,因为此时表A是不存在的。
同样李四打开项目不会加载表B,王五打开项目不会加载表C。
[此贴子已经被作者于2018/1/24 13:31:16编辑过]