Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

分用户组权限查看相应的内容

时 间:2017-09-04 16:32:00
作 者:听_feng   ID:62777  城市:成都
摘 要:根据不同用户组显示不同的结果。
部门负责人查看该部门所有数据,普通成员查看当前用户的数据
正 文:

a. 建立相应的用户组

b. 建立用户组查询

c. 在相关的表中加入用户字段

c. 在窗体代码中加入权限代码



Private Sub Form_Load()
    Set mclsQuery = New GeneralQuery
    With mclsQuery
        .QueryForm = Me.sfrQuickQuery
        .DataForm = Me.sfrList
        .AddAllFields
        .FieldName = "xmID"
    End With
    
    '---------------------分权限管理代码段开始----------------------'
    Dim Role As String
        Role = Forms!SysFrmMain!RoleName
        Select Case Role
            Case "系统管理员"
            Me.sfrList.Form.RecordSource = "Select * FROM qryProject"
            
            Case "总经理"
            Me.sfrList.Form.RecordSource = "Select * FROM qryProject"
            
            Case "市场部负责人"
            Me.sfrList.Form.RecordSource = "Select * FROM qryProject"
            
            Case "市场部"
            Me.sfrListMe.sfrList.Form.RecordSource = "Select * FROM qryProject"
            
            Case "北京销售组负责人"
            Me.sfrList.Form.RecordSource = "Select * FROM qryProject Where qryUser_Sales.Nickname in (Select Nickname from qryUser_SalesGrpBj)"
            '查询北京销售组所有成员的信息
            
            Case "北京销售组"
            Me.sfrList.Form.RecordSource = "Select * FROM qryProject Where qryUser_Sales.Nickname = Forms!SysFrmMain!Nickname"
            
            Case "上海销售组负责人"
            Me.sfrList.Form.RecordSource = "Select * FROM qryProject Where qryUser_Sales.Nickname in (Select Nickname from qryUser_SalesGrpSh)"
            '查询上海销售组所有成员的信息
            
            Case "上海销售组"
            Me.sfrList.Form.RecordSource = "Select * FROM qryProject Where qryUser_Sales.Nickname = Forms!SysFrmMain!Nickname"
                
            Case "成都销售组负责人"
            Me.sfrList.Form.RecordSource = "Select * FROM qryProject Where qryUser_Sales.Nickname in (Select Nickname from qryUser_SalesGrpCd)"
            '查询成都销售组所有成员的信息
            
            Case "成都销售组"
            Me.sfrList.Form.RecordSource = "Select * FROM qryProject Where qryUser_Sales.Nickname = Forms!SysFrmMain!Nickname"
                       
            Case "技术部负责人"
            Me.sfrList.Form.RecordSource = "Select * FROM qryProject Where qryUser_Tech.Nickname in (Select Nickname from qryUser_Tech)"
            '查询技术部所有成员的信息
            
            Case "技术部"
            Me.sfrList.Form.RecordSource = "Select * FROM qryProject Where qryUser_Tech.Nickname = Forms!SysFrmMain!Nickname"
            
            Case Else
            MsgBox "对不起,您无权查看此内容!"
            Me.sfrList.Form.RecordSource = "Select * FROM qryProject Where qryUser_Sales.Nickname = Null"
        End Select
      
    '---------------------分权限管理代码段结束----------------------'
    
    Me.Recalc
End Sub


但是发现执行效率比较低,还望大家帮忙优化一下



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助