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
但是发现执行效率比较低,还望大家帮忙优化一下