【发布时间】:2018-10-04 03:15:09
【问题描述】:
我正在创建一个数据库,该数据库对某些用户限制了某些表单,并且根据用户类型(例如:管理员、用户、访客)可以访问某些表单。我在主窗体的 On Load 事件上创建了一个 Visual Basic 代码,并且我还在该窗体中调用了用户类型 (txtUserType)。我希望管理员表单只能由管理员访问,但是当我以管理员身份登录时,管理员表单仍然被锁定。有关如何解决此问题的任何帮助?
我在我的登录表单中创建了一个字符串,以便能够在我的主表单中调用 UserType 的值。代码如下:
Dim UserType As String
UserType = DLookup("[UserType]", "tbl_Worker", "[LoginID] = '" &
Me.txtUsername.Value & "'")
Forms![frm_Home]![txtUserType] = UserType
现在我的主表单中的文本框 txtUserType 显示了曾经登录过的用户类型。
我在主窗体中的代码是:
Private Sub Form_Load()
If Me.txtUserType = "Admin" Then
Me.NavigationButton419.Enabled = True
Else
Me.NavigationButton419.Enabled = False
End If
End Sub
【问题讨论】:
-
在代码中下断点,看看为什么“Me.txtUserType”不等于“Admin”。
-
@andrew 它说 Me.txtUserType = Null 但显然主表单的那个文本框中有一个值。
-
你说
I also call the user type in that form是什么意思 - 你没有显示该代码或调用它的事件 - 这很可能是你的问题的原因 -
我会编辑问题,以便您看到
-
该代码在哪里?当您尝试从登录中设置文本框控件时,必须打开主窗体 (frm_home)。您只需将 UserType 定义为全局,然后将代码更改为
If UserType = "Admin" Then
标签: ms-access vba ms-access-2010 ms-access-2007