以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  权限设置  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=88845)

--  作者:zhangning
--  发布时间:2016/8/10 14:41:00
--  权限设置
我想让只有课长级别的人才能处理“出勤相关”表的批准和批准人和批准日期三个列,其他人编辑不了这三列,,
课长级别的人只能处理“出勤相关”的这三个列,其他的列处理不了,
请问老师,我在LoadUserSetting中输入以下代码,不起作用,
请老师帮看看,问题出在哪里了,谢谢!



If User.Group = "课长" Then
    DataTables("出勤相关").DataCols("批准").AllowEdit = True
    DataTables("出勤相关").DataCols("批准人").AllowEdit = True
    DataTables("出勤相关").DataCols("批准日期").AllowEdit = True
Else
    DataTables("出勤相关").DataCols("批准").AllowEdit = False
    DataTables("出勤相关").DataCols("批准人").AllowEdit = False
    DataTables("出勤相关").DataCols("批准日期").AllowEdit = False
End If

If User.Group = "GL" Then
    DataTables("出勤相关").DataCols("审核").AllowEdit = True
    DataTables("出勤相关").DataCols("审核人").AllowEdit = True
    DataTables("出勤相关").DataCols("审核日期").AllowEdit = True
Else
    DataTables("出勤相关").DataCols("审核").AllowEdit = False
    DataTables("出勤相关").DataCols("审核人").AllowEdit = False
    DataTables("出勤相关").DataCols("审核日期").AllowEdit = False
End If


--  作者:大红袍
--  发布时间:2016/8/10 14:52:00
--  

事件里加入下面代码,看弹出什么

 

msgbox(user.Group)

msgbox(user.Group = "课长")


--  作者:zhangning
--  发布时间:2016/8/10 15:10:00
--  
老师,加入代码后,没异常反应,但也没限制效果
--  作者:zhangning
--  发布时间:2016/8/10 15:13:00
--  
我现在尝试在PrepareEdit中输入以下代码
If e.Col.Name = "审核" OrElse "审核人" OrElse "审核日期" Then 
    If User.Group <> "GL"  Then
        e.Cancel = True
    End If
End If

我想表达的是,只有GL级别的人才有资格编辑 审核   审核人    审核日期  三列
我的第一行代码不对,请老师帮改改,谢谢!

--  作者:大红袍
--  发布时间:2016/8/10 15:22:00
--  

 加入代码后,重新打开项目,看弹出什么。

 


--  作者:大红袍
--  发布时间:2016/8/10 15:22:00
--  
以下是引用zhangning在2016/8/10 15:13:00的发言:
我现在尝试在PrepareEdit中输入以下代码
If e.Col.Name = "审核" OrElse "审核人" OrElse "审核日期" Then 
    If User.Group <> "GL"  Then
        e.Cancel = True
    End If
End If

我想表达的是,只有GL级别的人才有资格编辑 审核   审核人    审核日期  三列
我的第一行代码不对,请老师帮改改,谢谢!

 

If e.Col.Name = "审核" OrElse e.Col.Name = "审核人" OrElse e.Col.Name = "审核日期" Then 
    If User.Group <> "GL"  Then
        e.Cancel = True
    End If
End If

--  作者:zhangning
--  发布时间:2016/8/10 15:37:00
--  
谢谢老师,这个问题解决了,
如何反过来,GL级别的人只能修改审核、审核人、审核日期 3个列,别的不能编辑,用下列代码,限制不了,
老师帮看看,问题出在哪里?

If e.Col.Name <> "审核" OrElse e.Col.Name <> "审核人" OrElse e.Col.Name <> "审核日期" Then
    If User.Group = "GL"  Then
        e.Cancel = True
    End If
End If

--  作者:大红袍
--  发布时间:2016/8/10 15:41:00
--  

 

If User.Group = "GL"  Then
    If e.Col.Name = "审核" OrElse e.Col.Name = "审核人" OrElse e.Col.Name  "审核日期" Then
        e.Cancel = False
    Else
        e.Cancel = True
    End If
End If


--  作者:zhangning
--  发布时间:2016/8/10 15:48:00
--  
老师,这个代码出现错误,

图片点击可在新窗口打开查看此主题相关图片如下:14.png
图片点击可在新窗口打开查看


--  作者:大红袍
--  发布时间:2016/8/10 15:50:00
--  

If User.Group = "GL"  Then
    If e.Col.Name = "审核" OrElse e.Col.Name = "审核人" OrElse e.Col.Name = "审核日期" Then
        e.Cancel = False
    Else
        e.Cancel = True
    End If
End If