以文本方式查看主题

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

--  作者:nazi3729
--  发布时间:2016/12/15 12:27:00
--  [求助][求助]审核权限
“表A”里面由A、B、C、D、E五个用户负责录入,要求各个用户只能编辑自己生成的行,这点已经通过“让不同部门编辑不同的行的方式实现,但是这里面有个“审核”的列,是由A和B来录入的,还只能由他们来录入,通过‘让不同用户编辑不同的列’设置后发现不行。这个代码要怎么弄?

If e.Row("领用部门") <> User.Group Then 
    e.Cancel = True
End If
If e.Col.Name = "审批" Then 
    If User.Name <> "A" Then
        e.Cancel = True
    End If
End If
If e.Col.Name = "审批" Then 
    If User.Name <> "B" Then
        e.Cancel = True
    End If
End If
[此贴子已经被作者于2016/12/15 12:28:33编辑过]

--  作者:狐狸爸爸
--  发布时间:2016/12/15 12:42:00
--  
If e.Row("领用部门") <> User.Group Then 
    e.Cancel = True
End If
If e.Col.Name = "审批" Then 
    If User.Name <> "A" AndAlso User.Name <> "B" Then
        e.Cancel = True
    End If
End If


--  作者:nazi3729
--  发布时间:2016/12/15 13:53:00
--  
老师,试过了还是存在问题。第一个条件是“领用部门”与登录用户组一致,可编辑,A和B只能审核他们自己组生成的记录,其他组生成的行编辑不了。

因为
       If e.Row("领用部门") <> User.Group Then 
           e.Cancel = True
        End If
所以
      如果不是A或B所在“领用部门”建立的行,即使
 If e.Col.Name = "审批" Then 
    If User.Name <> "A" AndAlso User.Name <> "B" Then
        e.Cancel = True
    End If
End If
      A和B都无法修改“审批”

--  作者:nazi3729
--  发布时间:2016/12/15 13:58:00
--  
已解决