-- 作者:akzzwj
-- 发布时间:2012/8/27 17:02:00
-- 我做了一个授权的代码,可是老是出现如下图所示的错误
我做了一个授权的目录树,目录树的NodeMouseDoubleClick时间的代码如下:
If e.Node.Level =0 Then \'如果是多层节点 Return \'则返回 End If Select Case e.Node.Text Case "物料类别" If Functions.Execute("ShouQuan","A-物料类别") Then Forms("物料类别_浏览").Open() MainTable = Tables("物料类别") Tables("物料类别").Visible =True Else Messagebox.Show("对不起,你没有操作权限") End If Case "物料管理" If Functions.Execute("ShouQuan","B-物料管理") Then Forms("物料管理_浏览").Open() MainTable = Tables("物料管理") Tables("物料管理").Visible =True Else Messagebox.Show("对不起,你没有操作权限") End If Case "仓库管理" If Functions.Execute("ShouQuan","C-仓库管理") Then Forms("仓库管理_浏览").Open() MainTable = Tables("仓库管理") Tables("仓库管理").Visible =True Else Messagebox.Show("对不起,你没有操作权限") End If Case "入库单" If Functions.Execute("ShouQuan","A-入库单") Then Forms("入库单_浏览").Open() MainTable = Tables("入库单") Tables("入库单").Visible =True Else Messagebox.Show("对不起,你没有操作权限") End If Case "材料出库单" If Functions.Execute("ShouQuan","B-材料出库单") Then Forms("材料出库单_浏览").Open() MainTable = Tables("材料出库单") Tables("材料出库单").Visible =True Else Messagebox.Show("对不起,你没有操作权限") End If Case "领料单" If Functions.Execute("ShouQuan","C-领料单") Then Forms("领料单_浏览").Open() MainTable = Tables("领料单") Tables("领料单").Visible =True Else Messagebox.Show("对不起,你没有操作权限") End If Case "销售出库单" If Functions.Execute("ShouQuan","D-销售出库单") Then Forms("销售出库单_浏览").Open() MainTable = Tables("销售出库单") Tables("销售出库单").Visible =True Else Messagebox.Show("对不起,你没有操作权限") End If Case "委外加工单" If Functions.Execute("ShouQuan","E-委外加工单") Then Forms("委外加工单_浏览").Open() MainTable = Tables("委外加工单") Tables("委外加工单").Visible =True Else Messagebox.Show("对不起,你没有操作权限") End If Case "退货换货单" If Functions.Execute("ShouQuan","F-退货单") Then Forms("退货单_浏览").Open() MainTable = Tables("退货单") Tables("退货单").Visible =True Else Messagebox.Show("对不起,你没有操作权限") End If Case "移库单" If Functions.Execute("ShouQuan","G-移库单") Then Forms("移库单_浏览").Open() MainTable = Tables("移库单") Tables("移库单").Visible =True Else Messagebox.Show("对不起,你没有操作权限") End If End Select
在测试的时候,点击目录树节点的时候,老是出现如下图所示的错误
请狐狸爸爸,帮我看一下,是哪里出了问题,谢谢
此主题相关图片如下:qq截图20120821084828.jpg

|
-- 作者:akzzwj
-- 发布时间:2012/8/27 17:32:00
--
我的授权函数shouquan的代码如下:
If User.Type <> UserTypeEnum.User Then \' 如果是开发者或者管理员 Return True \'则具备所有权限 End If Dim dt As DataTable = DataTables("授权") Dim dr As DataRow \'首先判断分组的授权用户是否包括此用户或此用户所属的分组 dr = dt.Find("分组 = \'" & args(0) & "\' And 权限 Is Null" ) If dr Is Nothing Then MessageBox.show("不存在名为""" & args(0) & "分组!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) Return False End If If dr.IsNull("用户") = False Then Dim nms() As String = dr("用户").Split(",") For Each nm As String In nms If nm = _UserGroup OrElse nm = _UserName Then \'如果授权用户包括登录用户所属的分组或其用户名 Return True \'返回True End If Next End If \'然后判断权限的授权用户是否包括此用户或此用户所属的分组 If Args(1) = "" Then Return False End If dr = dt.Find("分组 = \'" & args(0) & "\' And 权限 = \'" & args(1) & "\'") If dr Is Nothing Then MessageBox.show("不存在名为""" & args(1) & "权限!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) Return False End If If dr.IsNull("用户") = False Then Dim nms() As String = dr("用户").Split(",") For Each nm As String In nms If nm = _UserGroup OrElse nm = _UserName Then \'如果授权用户包括登录用户所属的分组或其用户名 Return True \'返回True End If Next End If Return False
我找了半天也找不出问题啊,狐狸爸爸,能帮我到底是哪里出错了吗?
|