【发布时间】:2020-02-26 03:39:12
【问题描述】:
好的,我在用户表单后面编码安全性时遇到了困难。让小编给大家盘点一下吧。我创建了这个制作表“tblPermissionTypes”,其中基本上有两个字段“ID”和“EmployeeType_ID”。 ID 字段表示访问的安全级别 0 到 2,EmployeeType_ID 是标题:0 = 请求者,1 = 管理员,2 = 打印机。
话虽如此,我还有另一个表“tblEmployees”,其中包含相同的字段“EmployeeType_ID”,我手动设置了 0、1 和 2。此表还包含所有员工的用户名
最后,我有另一个表“tblPermission”,其中包含三个字段“EmployeeType_ID”、“FormName”和“HasAccess”
我的最终结果是每当此 tblPermission 在 HasAccess 字段下有一个复选框时,我想根据 EmployeeType_ID 字段授予访问权限以与表“tblEmployees”进行通信,但在这种情况下,我希望他们只能查看包含该特定表单的按钮。
Private Sub cmdClick_Click()
Dim strSQL As String
Dim permission As String
If permission = ("fOSUserName") = True Then
Run strSQL
strSQL = "SELECT * FROM tblEmployees WHERE "
strSQL = strSQL & "tblEmployees.Five2 =" & ("fOSUserName") & """, = False
Then
MsgBox "You do not have permission!", vbExclamation
Else'
cmdButton.Visible True
End If
NOTE: fOSUserName, is a function I created basically the same thing as
Environ("UserName")
Debug.Print strSQL
【问题讨论】:
-
不要将函数调用放在引号之间。
-
tblPermissionTypes 中 EmployeeType_ID 字段的更好名称是 EmployeeTypeTitle。
标签: vba security ms-access userform