以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请教权限问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=25029)

--  作者:秦胜雄
--  发布时间:2012/10/29 18:54:00
--  请教权限问题

If e.Col.Name = "发货" Then
    If e.Row.IsNull("发货") = False Then
        If e.Row("发货") = True AndAlso User.Name <> "秦胜雄" Then
            e.Cancel = True
        End If
    End If
End If

想实现发货是空谁都能编辑,如是真就锁定此行且不能删除,只有秦胜雄能修改,请指教。


--  作者:狐狸爸爸
--  发布时间:2012/10/29 20:25:00
--  

如果发货列是逻辑型,只需:

 

If e.Col.Name = "发货" And e.Row("发货") = True Then

      if User.Name <> "秦胜雄" Then

            e.Cancel = True

      End if

End If


--  作者:秦胜雄
--  发布时间:2012/10/29 20:59:00
--  
衷心感谢!!!已试过,发货列是逻辑型,但只能锁一个单元格,不能将整行锁住,请再帮帮忙。
--  作者:狐狸爸爸
--  发布时间:2012/10/29 21:13:00
--  

兄弟,锁行更加简单啊,不用判断列名就行:

 

 

If e.Row("发货") = True Then
      if User.Name <> "秦胜雄" Then
            e.Cancel = True
      End if
End If


--  作者:秦胜雄
--  发布时间:2012/10/29 22:08:00
--  

万分谢谢!!!!!问题解决,我现在是在表的属性选项里True来防范删除行的,还能加代码预防删除行吗。


--  作者:lin_hailun
--  发布时间:2012/10/30 13:16:00
--  
 回复楼上,编写BeforeDeleteDataRow事件,不够权限的,直接e.Cancel = True

--  作者:秦胜雄
--  发布时间:2012/10/30 16:38:00
--  

谢谢!!!!问题解决。