以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  为什么按帮助例子的这个函数运行,报错?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=55271)

--  作者:jinxilin
--  发布时间:2014/8/13 15:45:00
--  为什么按帮助例子的这个函数运行,报错?
http://www.foxtable.com/help/index.html?n=1498.htm


这个例子的函数,调用没有反应,百思不得基解,


我试着在命令窗口执行函数,发现报错,说要未声明变量,应该怎么声明一下?  求指教

【出错的函数】:

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 = User.Group OrElse nm = User.Name 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 = User.Group OrElse nm = User.Name Then \'如果授权用户包括登录用户所属的分组或其用户名
           
Return True \'返回True
       
End If

    Next
End If
Return False




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


[此贴子已经被作者于2014-8-13 15:46:18编辑过]

--  作者:Bin
--  发布时间:2014/8/13 15:47:00
--  
命令窗口是不能执行 args 的,这个是内部函数才有的
--  作者:jinxilin
--  发布时间:2014/8/13 15:53:00
--  
那为什么我按例子操作的,调用函数没有反应呢?

我在菜单的 LoadUserSetting 事件里加入代码,
要菜单的功能组【高级管理】按权限隐藏,为什么隐藏不了?  
不知道哪里的问题,请赐教

If Functions.Execute("ShouQuan","高级管理","")   Then   \'当用户没有这个权限,则隐藏此功能菜单
    RibbonTabs("高级管理").Visible = True
Else
    RibbonTabs("高级管理").Visible = False
End If


--  作者:有点甜
--  发布时间:2014/8/13 16:00:00
--  

 单独运行这段代码,看是否报错。如果没有报错,就说明你的内部函数或者数据有问题。

 

If Functions.Execute("ShouQuan","高级管理","")   Then   \'当用户没有这个权限,则隐藏此功能菜单
    RibbonTabs("高级管理").Visible = True
Else
    RibbonTabs("高级管理").Visible = False
End If