Foxtable(狐表)用户栏目专家坐堂 → 窗口中按钮权限设置


  共有4492人关注过本帖树形打印复制链接

主题:窗口中按钮权限设置

美女呀,离线,留言给我吧!
xiaohuli
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
  发帖心情 Post By:2015/8/24 15:35:00 [只看该作者]

老师,窗口中有一些按钮,还有一个权限表,我想通过这个权限表来控制窗口中的按钮,当权限表中对一个用户分配了一些按钮不可用的权限后,然后主窗口打开后,如果当前用户对主窗口中的某些按钮没有操作权限的时候就弹出你无权操作的提示框。

老师,刚刚用你代码试过了,还是不起作用,我是写在窗口中的click中了。


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/24 15:40:00 [只看该作者]

代码没有问题,不行,就上传具体例子。

 回到顶部
美女呀,离线,留言给我吧!
xiaohuli
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
  发帖心情 Post By:2015/8/24 17:29:00 [只看该作者]

老师,现在代码能执行了,没有权限的弹出提示框,有权限的应该打开对应的窗口,有权限的怎么打开对应的窗口呀。


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/24 17:34:00 [只看该作者]

什么是对应窗口?

 

For Each dr As DataRow In DataTables("权限表").Select("用户名 = '" & user.Name & "' and 按钮不可用 = true")
    For Each bn As String In dr("按钮名称").split(",")
        If bn = e.sender.Name Then
          MessageBox.show("你无权操作!")

          return
        End If
    Next
Next

 

'其余代码

If  e.sender.Name = "button1" then

    Forms("窗口1").Open

ElseIf  e.sender.Name = "button2" then

    Forms("窗口2").Open

end If


 回到顶部
美女呀,离线,留言给我吧!
xiaohuli
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
  发帖心情 Post By:2015/8/25 10:19:00 [只看该作者]

For Each dr As DataRow In DataTables("权限表").Select("用户名 = '" & user.Name & "' and 按钮不可用 = true")
    For Each bn As String In dr("按钮名称").split(",")
        If bn = e.sender.Name Then
          MessageBox.show("你无权操作!")

          return

else 

If  e.sender.Name = "button1" then

    Forms("窗口1").Open

ElseIf  e.sender.Name = "button2" then

    Forms("窗口2").Open

end If

        End If
    Next
Next

 

老师,我是这样写的,如果这样写的话是有问题的,本来是没权限打开那个点击按钮之后的窗口,但是一点击按钮后窗口就打开了,还关不掉,一直弹出那个窗口,等关好几次后窗口关掉后,才弹出你无权操作的提示框。我的想法是这样的,如果权限表中对该按钮设置了权限,按钮不可用为true,就不能打开窗口,如果在权限表中没有对按钮设置权限的话,就能打开对应的窗口。

 


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/25 10:22:00 [只看该作者]

请认认真真看14楼代码啊。根本就不同。

 回到顶部
美女呀,离线,留言给我吧!
xiaohuli
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
  发帖心情 Post By:2015/8/25 10:45:00 [只看该作者]

如果按14楼的代码去写,那就更不对了,因为这样写的话,每个按钮都能打开对应的窗口,等将窗口关闭后,又弹出了无权操作的提示框。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/25 10:49:00 [只看该作者]

不 可 能,上传实例


 回到顶部
美女呀,离线,留言给我吧!
xiaohuli
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
  发帖心情 Post By:2015/9/22 15:29:00 [只看该作者]

老师,目前窗口中有两部分的按钮,一部分按钮是通过权限表来控制的,

但是还有一部分代码是不需要通过权限表来控制,直接点击按钮就能打开窗口,目前不需要通过权限表来控制的按钮是可以打开,但是还是会有无权操作的提示,如何实现一个窗口中两种按钮的控制,比如,在窗口中有btn1,btn2,btn3,btn4四个按钮,btn1和btn2是通过权限表来控制的,

在窗口的click事件中写如下代码:

For Each dr As DataRow In DataTables("权限表").Select("用户名 = '" & user.Name & "' and 按钮不可用 = true")
    For Each bn As String In dr("按钮名称").split(",")
        If bn = e.sender.Name Then
          MessageBox.show("你无权操作!")
          return
        End If
    Next
Next
 
'其余代码

btn3和btn4直接在按钮的click事件中写forms("").open,这两种控制方式如何都能实现。

目前的状态是点击btn3和btn4能打开窗口,但同时也会出现无权操作的提示。


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/22 15:36:00 [只看该作者]

不需要判断权限的,就不要执行这段代码

 

For Each dr As DataRow In DataTables("权限表").Select("用户名 = '" & user.Name & "' and 按钮不可用 = true")
    For Each bn As String In dr("按钮名称").split(",")
        If bn = e.sender.Name Then
          MessageBox.show("你无权操作!")
          return
        End If
    Next
Next

 

加上判断

 

If e.Sender.Name = "xxxx" OrElse e.Sender.Name = "yyyy" Then

    '不需要权限的代码

Else

    '权限代码

End If


 回到顶部
总数 22 上一页 1 2 3 下一页