以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]编辑权限问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73986)

--  作者:fred
--  发布时间:2015/8/30 21:27:00
--  [求助]编辑权限问题
有一个表A,表A里有十列。
目的:销售部的人只能编辑表A里的第8列,其它部门里的人除了第8列,其它列都可编辑。

在PrepareEidt里这样写有错吗?

If e.Col.Name="第8列" Then
    If User.Name="销售部" Then
        e.cancel=False
    Else
        e.cancel=True
    End If
End If

--  作者:有点蓝
--  发布时间:2015/8/30 21:47:00
--  
Select Case e.Col.Name
    Case "第8列"
        If user.Name <> "销售部" Then
            e.Cancel = True
        End If
    Case Else
        If user.Name = "销售部" Then
            e.Cancel = True
        End If        
End Select
[此贴子已经被作者于2015/8/30 21:47:19编辑过]

--  作者:fred
--  发布时间:2015/8/31 22:39:00
--  
谢谢。但不能实现我的目的。这样结果是所有用户都是一样的:对第8列无编辑权,对其它列有编辑权。

我的目的:  销售部   对 第8列 有 编辑权;对 其它列 无 编辑权
              非销售部  对 第8列 无 编辑权;对 其它列 有 编辑权

--  作者:fred
--  发布时间:2015/8/31 22:51:00
--  
我把User.Name 改成User.Group就可以了。
非常感谢

--  作者:大红袍
--  发布时间:2015/8/31 22:51:00
--  
Select Case e.Col.Name
    Case "第8列"
        If user.Group <> "销售部" Then
            e.Cancel = True
        End If
    Case Else
        If user.Group = "销售部" Then
            e.Cancel = True
        End If        
End Select