Public Const ErrQX = "权限不足!请与管理员联系!"
Public YGNumber As String '员工编号
Public ygName As String '员工姓名
'///////////////////////////////////////---------验证用户权限 ------//////////////////////////////////////////////////
Public Function Frm_Qx(Frm As Form, UserID As String)
'在系统表里寻找登陆用户关于打开窗体的权限记录集
Dim sql As String
sql = "SELECT * from Tbl_权限 where 用户='" & UserID & "'and 对象='" & Frm.Name & "';"
'打开记录集
Dim db As ADODB.Connection
Dim rs As New ADODB.Recordset
Set db = CurrentProject.Connection rs.Open sql, db, adOpenStatic, adLockReadOnly
'如果记录为空,改用户没有任何权限
If rs.BOF And rs.EOF Then
MsgBox ErrQX, vbCritical, "错误"
DoCmd.RunCommand acCmdClose
Exit Function
End If
'如果权限为 "全部"
If rs!完全 = True Then
Frm.AllowAdditions = True
Frm.AllowEdits = True
Frm.AllowDeletions = True
Exit Function
End If
'如果权限为"只读"
If rs!只读 = True Then
Frm.AllowAdditions = False
Frm.AllowEdits = False
Frm.AllowDeletions = False
Exit Function
End If
'如果全是否,忘记填写了...
If rs!只读 = False And rs!添加 = False And rs!删除 = False And rs!修改 = False And rs!完全 = False Then
MsgBox ErrQX, vbCritical, "错误"
DoCmd.RunCommand acCmdClose
Exit Function
End If
'其他情况就是按照正常的选择了..
Frm.AllowAdditions = rs!添加
Frm.AllowEdits = rs!修改
Frm.AllowDeletions = rs!删除
End Function
'///////////////////////////////////////---------END ------//////////////////////////////////////////////////