共计 1326 个字符,预计需要花费 4 分钟才能阅读完成。
- Option Compare Database
- 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
摘自 http://www.access-cn.com/info/1768-cn.html
正文完