以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教用户角色授权  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92633)

--  作者:lilywang
--  发布时间:2016/11/9 9:27:00
--  请教用户角色授权
If User.Roles="销售经理" Then
    DataTables("销售合同表").LoadFilter = "[合同签署人] =\'" & User.Name & "\'"
Else
    DataTables("销售合同表").LoadFilter = ""
End If
DataTables("销售合同表").Load()


为什么代码不生效的呢?

--  作者:有点蓝
--  发布时间:2016/11/9 9:38:00
--  
If User.IsRole("销售经理") Then
    DataTables("销售合同表").LoadFilter = "[合同签署人] =\'" & User.Name & "\'"
Else
    DataTables("销售合同表").LoadFilter = ""
End If
DataTables("销售合同表").Load()


--  作者:lilywang
--  发布时间:2016/11/9 9:49:00
--  
老师 还是不行
--  作者:有点蓝
--  发布时间:2016/11/9 10:07:00
--  
msgbox(User.Roles) 看看是否有这个角色

不生效具体是什么现象

--  作者:lilywang
--  发布时间:2016/11/9 10:34:00
--  
好吧。。。我又测试一下发现

If User.IsRole("销售经理") Then
    DataTables("销售合同表").LoadFilter = "[合同签署人] =\'" & User.Name & "\'"
Else
    DataTables("销售合同表").LoadFilter = ""
End If
DataTables("销售合同表").Load()

这段代码会生效了 但是再加一段

If User.IsRole("总监") AndAlso User.Group="北京" Then
    DataTables("销售合同表").LoadFilter =  "[所属片区] = \'北京\'"
Else
    DataTables("销售合同表").LoadFilter = ""
End If
DataTables("销售合同表").Load()

两段的代码一起失效。。。

请问这个怎么破?

[此贴子已经被作者于2016/11/9 11:00:45编辑过]

--  作者:lilywang
--  发布时间:2016/11/9 11:15:00
--  
我把代码改成 If。。Else。。就行了

If User.IsRole("销售经理") Then
    DataTables("销售合同表").LoadFilter = "[合同签署人] =\'" & User.Name & "\'"
ElseIf User.IsRole("总监") AndAlso User.Group="北京" Then
DataTables("销售合同表").LoadFilter =  "[所属片区] = \'北京\'"
Else
    DataTables("销售合同表").LoadFilter = ""
End If
DataTables("销售合同表").Load()

谢谢老师了

--  作者:ww7686
--  发布时间:2016/11/14 22:59:00
--  xizaixuex
xizaixuex