Foxtable(狐表)用户栏目专家坐堂 → 任务栏权限设置


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

主题:任务栏权限设置

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


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
任务栏权限设置  发帖心情 Post By:2015/7/7 14:51:00 [显示全部帖子]

窗口中有一个任务栏,任务栏上有一些任务,对这些任务该如何进行权限控制呢?不同的用户登录后只能进行某些任务操作。

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


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
  发帖心情 Post By:2015/8/31 16:55:00 [显示全部帖子]

老师,主窗口上有个任务栏,还有个权限表,我想通过权限表来控制任务栏中各个link的权限。就像控制窗口中的按钮的权限一样。

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

如果要控制任务栏中link的权限,应该如何控制。


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


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
  发帖心情 Post By:2015/8/31 17:10:00 [显示全部帖子]

已经做过权限判断了,但那样的话直接就是死的,不是灵活的,我就想通过权限表来控制任务栏的权限。

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


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
  发帖心情 Post By:2015/8/31 17:13:00 [显示全部帖子]

嗯嗯,好的,老师。

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


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
  发帖心情 Post By:2015/9/14 15:35:00 [显示全部帖子]

老师,我的用户表中有一列是任务,任务这列是多值字段,比如像11,12,21,25等之类的数字。然后在任务栏的

TopicLinkClick中写了下面事件。

我的想法是当前登录的用户去查询用户表中的任务列,当任务列中有包含11的话就能打开修改密码的窗口,否则的话就弹出你无权操作的提示!目前的代码既能打开窗口,又能弹出提示!老师帮我看看下面的代码吧。

For Each dra As DataRow In DataTables("用户表").Select("部门= '" & _bm & "' and 岗位名称 ='"& _gwmc & "' ")
    For Each bn As String In dra("任务").split(",")
        Select Case e.Link.Name
            Case "修改密码"
                If  bn.Contains("11") Then
                    Forms("修改密码").Open
                Else
                    MessageBox.show("你无权执行此项操作!")
                   
                End If

              

        End Select
       
       
    Next
 
Next


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


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
  发帖心情 Post By:2015/9/14 19:56:00 [显示全部帖子]

老师,我目前将任务栏的代码改为了这样,如果当前点击的任务栏中的任务名称和在表中遍历到的数据不相等的话,就弹出无权操作的提示,否侧的话打开对应的窗口,我是这样写的代码,但就算点击的当前任务名称和遍历到的数据表中的一样的话,还是会提示无权操作的。请老师帮忙看下代码哪里写的不对?

For Each dra As DataRow In DataTables("用户表").Select("部门= '" & _bm & "' and 岗位名称 ='"& _gwmc & "' ")
    For Each bn As String In dra("任务名").split(",")
        If bn <> e.Link.Name Then
            MessageBox.show("你无权执行此项操作!")
            Return
        End If
    Next
Next
Select Case e.Link.Name
    Case "切换用户"
        Forms("登录").Open
    Case "修改密码"
        Forms("更改用户").Open
End Select

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


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
  发帖心情 Post By:2015/9/15 18:00:00 [显示全部帖子]

老师,下面这段代码还是有问题,当给管理员所有权限都加上的时候,在操作的时候刚开始加了权限的窗口都能打开,但是第二次打开的时候就提示你无权操作,明明是有权限的,可是却提示无权操作。

For Each dra As DataRow In DataTables("用户表").Select("部门= '" & _bm & "' and 岗位名称 ='"& _gwmc & "' ")
    For Each bn As String In dra("任务名").split(",")
        If bn =e.Link.Name Then  
            Select Case e.Link.Name
                Case "切换用户"
                    Forms("登录").Open
                Case "修改密码"
                    Forms("更改用户").Open
            End Select
            Return
        End If
    Next
Next
MessageBox.show("你无权执行此项操作!")


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


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
  发帖心情 Post By:2015/9/22 15:36:00 [显示全部帖子]

老师,任务栏中和很多个任务,报表类的任务想通过权限表来控制,而像切换用户,修改密码之类的不想通过权限表来控制,因为这些没必要分配权限,这些每个人都应该能操作,这个应该怎么实现。

For Each dra As DataRow In DataTables("用户表").Select("部门= '" & _bm & "' and 岗位名称 ='"& _gwmc & "' ")
    For Each bn As String In dra("任务名").split(",")
        If bn =e.Link.Name Then  
            Select Case e.Link.Name
                Case "报表1"
                    Forms("报表1").Open
                Case "报表2"
                    Forms("报表2").Open
            End Select
            Return
        End If
    Next
Next
MessageBox.show("你无权执行此项操作!")

Select Case e.Link.Name
                Case "切换用户"
                    Forms("切换用户").Open
                Case "修改密码"
                    Forms("修改密码").Open
            End Select


 回到顶部