vba - 使用系统用户名授予权限
问题描述
我有一个获取当前用户 ID 的全局函数。它的工作文件。现在我想将它与我想要访问该程序的表中的用户列表进行比较。我的表是 Tbl_Staff 保存每个人的值的字段是 UserID 我的函数称为 GetUserName 这是我到目前为止所拥有的:
Private Sub Form_Load()
Dim Message As String
Dim Currentdb As DAO.Database
Dim RecSet As DAO.Recordset
Set RecSet = Currentdb.OpenRecordset("SELECT * FROM Tbl_Staff WHERE [Tbl_Staff].[UserID] = UserName())
If UserName = RecSet Then
Exit Sub
Else
Message = MsgBox("You do not have permission to access this database." & vbCrLf & "Please contact Robert Smith for access", vbOKOnly)
DoCmd.CloseDatabase
End If
End Sub
我真的被困住了。谢谢
解决方案
像这样的东西:
Private Sub Form_Load()
Dim RecSet As DAO.Recordset
Set RecSet = Application.Currentdb.OpenRecordset( _
"SELECT * FROM Tbl_Staff WHERE [Tbl_Staff].[UserID] = '" & UserName() & "'")
If RecSet.EOF Then
MsgBox "You do not have permission to access this database." & _
vbCrLf & "Please contact Robert Smith for access"
DoCmd.CloseDatabase
End If
End Sub
可能需要调整 SQL 以解决数据库中的用户名与 UserName() 的返回值之间的差异
推荐阅读
- javascript - 返回值到 DOM
- node.js - Facebook 信使平台 - 设置 Webhook - 错误 - 写入 EPROTO 1975128920 -third_party/boringssl/src/ssl/tls_record.cc:242
- angular - 角材料中没有发生排序
- javascript - Vue中切片URL获取文件名
- reactjs - Reactjs - 无法连接音频源中的变量
- java - 使用(键,值)实现堆栈
- docker - 使用 Kompose 将 docker-compose 转换为 Kubernetes 时重写 nginx.conf?
- c++ - C++是图灵完备的语言吗?
- xlsxwriter - xlsxwriter:write_array_formula 在另一张纸上时未计算
- python - 如何使用 scipy.stats.norm.cdf 和 matplotlib 获得 sigmodal CDF 曲线?