Foxtable(狐表)用户栏目专家坐堂 → 请教权限设置的问题


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

主题:请教权限设置的问题

帅哥哟,离线,有人找我吗?
douglas738888
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1175 积分:8792 威望:0 精华:0 注册:2012/4/18 16:28:00
请教权限设置的问题  发帖心情 Post By:2012/7/23 10:30:00 [显示全部帖子]

我用的是开发版,在编程过程中已完成权限设置,不同的员工通过密码登陆后可实现不让看到的表和列,一直都没有问题;后来我想自己设计登陆窗口按照自定义用户与权限管理的指导“建立一个源,连接到文件“用户.mdb”,源的名称设置为“User”等一系列工作完成后,原来设置的权限不起作用(Name、Group与原来的设置是一致的),但删除外部设计源又恢复正常,不知问题出在哪里???特请教

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


加好友 发短信
等级:五尾狐 帖子:1175 积分:8792 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2012/7/23 10:41:00 [显示全部帖子]

以下是原来权限设置的代码,请看看是否有误(BCDEFGH是各员工的名称)

Select Case User.Name
    Case "B","C","F","G","H"
        Tables("集团员工档案").Visible = False
End Select
Select Case User.Name
    Case "D","E"
        Tables("集团员工档案").Cols.Remove("试用期工资")
        Tables("集团员工档案").Cols.Remove("转正后薪级")
        Tables("集团员工档案").Cols.Remove("目前薪资")
        Tables("集团员工档案").Cols.Remove("目前薪级")
        Tables("集团员工档案").Cols.Remove("薪资变动记录")
End Select
Select Case User.Name
    Case "F","G","H"
        Tables("网站业务系统密码信息记录").Visible = False
End Select
Select Case User.Name
    Case "B","C","D","E","F","G","H"
        Tables("员工薪酬福利").Visible = False
End Select
Select Case User.Name
    Case "B","C","D","E","F","G","H"
        Tables("薪资变动表").Visible = False
End Select
Select Case User.Name
    Case "B","C","F","G","H"
        Tables("员工试用与转正事务").Visible = False
    Case "D","E"
        Tables("员工试用与转正事务").Cols.Remove("试用薪资")
        Tables("员工试用与转正事务").Cols.Remove("转正岗级")
        Tables("员工试用与转正事务").Cols.Remove("转正岗级工资")
End Select
Select Case User.Name
    Case "B","C","D","E","F","G","H"
        Tables("员工岗级晋升或降级").Visible = False
End Select
Select Case User.Name
    Case "B","C","F","G","H"
        Tables("员工离职事务").Visible = False
End Select
Select Case User.Name
    Case "B","C","F","G","H"
        Tables("员工请假或假期记录").Visible = False
End Select
Select Case User.Name
    Case "B","C","D","E","F","G","H"
        Tables("员工入职一周访谈记录").Visible = False
End Select
Select Case User.Name
    Case "B","C","D","E","F","G","H"
        Tables("员工入职三十天访谈记录").Visible = False
End Select
Select Case User.Name
    Case "B","C","F","G","H"
        Tables("员工岗级晋升考核评定").Visible = False
    Case "D","E"
        Tables("员工岗级晋升考核评定").Cols.Remove("原岗级")
        Tables("员工岗级晋升考核评定").Cols.Remove("申请岗级")
End Select
Select Case User.Name
    Case "C","F","G","H"
        Tables("人员配置情况").Visible = False
End Select
Select Case User.Name
    Case "C","G","H"
        Tables("人员面试和复试").Visible = False
    Case "D","E","B","F"
        Tables("人员面试和复试").Cols.Remove("薪资要求")
End Select
Select Case User.Name
    Case "B","C","F","G","H"
        Tables("KPI考核记录").Visible = False
End Select
Select Case User.Name
    Case "B","C","F","G","H"
        Tables("部门预算").Visible = False
End Select

 

 

If User.Group = "A" Then
    For Each dt As DataTable In DataTables
        dt.AllowClipBoard = False
    Next
End If
If User.Group = "B" Then
    For Each dt As DataTable In DataTables
        dt.AllowClipBoard = False
    Next
End If
If User.Group = "C" Then
    For Each dt As DataTable In DataTables
        dt.AllowClipBoard = False
    Next
End If
If User.Group = "D" Then
    For Each dt As DataTable In DataTables
        dt.AllowClipBoard = False
    Next
End If
If User.Group = "E" Then
    For Each dt As DataTable In DataTables
        dt.AllowClipBoard = False
    Next
End If
If User.Group = "F" Then
    For Each dt As DataTable In DataTables
        dt.AllowClipBoard = False
    Next
End If
If User.Group = "G" Then
    For Each dt As DataTable In DataTables
        dt.AllowClipBoard = False
    Next
End If
If User.Group = "H" Then
    For Each dt As DataTable In DataTables
        dt.AllowClipBoard = False
    Next


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


加好友 发短信
等级:五尾狐 帖子:1175 积分:8792 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2012/7/23 11:07:00 [显示全部帖子]

是只能IF格式采用_UserName,还是Select格式的也可采取这样的方法?

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


加好友 发短信
等级:五尾狐 帖子:1175 积分:8792 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2012/7/23 11:11:00 [显示全部帖子]

另外,在应用中会跳出两个登陆窗口,一个是原来程序带的,另外一个是自定义的,我想只跳出一个登陆窗口,不知如何做。“也可以考虑在菜单中另外加入一个系统登录命令,代码设置为:Syscmd.Project.Switchuser()”这句话怎么理解?谢谢

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


加好友 发短信
等级:五尾狐 帖子:1175 积分:8792 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2012/7/23 15:44:00 [显示全部帖子]

急求!总结部分理解的不是很清楚,权限代码也进行了修正,自定义窗口登陆的问题解决了,但是所设立的限制某位员工不能看见某列的功能实现了,但是限制看到表的功能依然没有解决,不知是不是我的代码有问题?还是哪里又没弄对?

在项目设置中修改完成,总是跳出自定义的登录窗口,输入账号名称和密码后无反应,必须重新启动计算机才能重新开始,很麻烦,

请老师解答,谢谢!!!!!!


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


加好友 发短信
等级:五尾狐 帖子:1175 积分:8792 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2012/7/24 14:42:00 [显示全部帖子]

狐爸,相关代码我已经改为_UserName 和_UserGroup,问题还是没有解决,另外我在项目属性中设置代码(不让相关人员登录窗口后看到“员工薪酬福利”表

Select Case _UserName
    Case "B","C","F","G","H"
        Tables("员工薪酬福利").Visible = False
End Select

不执行,通过自定义窗口进入后,点击员工薪酬福利按钮,窗口死机,?????


 回到顶部