让不同用户编辑不同的列

假定一个表,要求:

1、禁止张三和李四编辑第一列、第二列和第三列。
2、禁止王五和赵六编辑第四列、第五列和第六列。
3、只有张经理编辑才能编辑第十列。

为此可将此表的PrepareEdit事件代码设置为:

Select Case User.Name
    Case
"张三",
"李四"
       
Select Case e.Col.Name
            Case
"第一列","第二列","第三列"

                e.Cancel =
True
       
End Select
   
Case "王五", "赵六"
       
Select Case e.Col.Name
            Case
"第四列","第五列","第六列"

                e.Cancel =
True
       
End Select
End
Select
If
e.Col.Name = "第十列" Then
    If User.Name <> "张经理" Then
        e.Cancel =
True
   
End If
End
If

实际应用的时候,将上述代码替换为具体的列名和用户名即可。

上面的代码是基于用户名的,同样可以改为基于用户分组的,只需将上述代码中的User.Name改为User.Group,并将用户名替换为分组名即可。


本页地址:http://www.foxtable.com/webhelp/topics/2255.htm