以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求助:列权限控制不起作用  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=174523)

--  作者:xnsiwei
--  发布时间:2022/1/19 15:51:00
--  求助:列权限控制不起作用
求助:列权限控制不起作用

If e.Col.Name = "十四五任务" Then 
    If User.Group <> "防治" Then
        e.Cancel = True
    End If
End If
If e.Col.Name = "文档" Then 
    If User.Group <> "防治" Then
        e.Cancel = True
    End If
End If

--  作者:有点蓝
--  发布时间:2022/1/19 15:54:00
--  
代码放在哪里的?

到命令窗口执行看看User.Group是什么内容?
msgbox(User.Group)

--  作者:客人
--  发布时间:2022/1/19 16:01:00
--  
管理员
--  作者:xnsiwei
--  发布时间:2022/1/19 16:03:00
--  
为此可将此表的PrepareEdit事件代码设置为:

管理员

--  作者:有点蓝
--  发布时间:2022/1/19 16:32:00
--  
If e.Col.Name = "十四五任务" orelse  e.Col.Name = "文档" Then 
    If User.Group <> "防治" Then
        e.Cancel = True
    End If
End If

--  作者:xnsiwei
--  发布时间:2022/1/19 16:56:00
--  
切换用户后“防治”用户组的人仍然可以编辑全部列
--  作者:有点蓝
--  发布时间:2022/1/19 17:03:00
--  
判断的是【User.Group <> "防治" 】,肯定“防治”用户组的人仍然可以编辑啊。

到底要做什么判断?

--  作者:xnsiwei
--  发布时间:2022/1/19 17:20:00
--  
只编辑”十四五任务"  "文档“两列
--  作者:有点蓝
--  发布时间:2022/1/19 17:26:00
--  
If e.Col.Name = "十四五任务" orelse  e.Col.Name = "文档" Then 
else
If User.Group = "防治" Then
        e.Cancel = True
    End If
End If

--  作者:xnsiwei
--  发布时间:2022/1/19 21:18:00
--  
这次OK,谢谢
[此贴子已经被作者于2022/1/19 21:18:05编辑过]