请接受Acess支持

时间:2015-05-21 19:35:06

标签: vba access-vba

Access Docment scanned with Macfee and Microsoft on a server platform One drive so completly safe.

我想要一个具有不同级别的用户登录页面,以便不同的用户可以访问不同的对象或功能。

请查看下面的编码我还附上了onedrive链接,用于访问2013年文档。

代码:

Private Sub Form_Load()
    Dim Security As Integer
    Me.txtLogin = Environ(“userName”)

    Me.txtUser = DLookup(“userName”, “tblUser”, “Username = ‘” & User & “‘”)Then
    If IsNull(DLookup(“userSecurity”, “tblUser”, “UserLogin = ‘” & Me.txtLogin & “‘”)) Then
        MsgBox (“No User security set up for this user. Please contact the Admin”, vbOKOnly, “Login Info”

        Me.NavigationButton13.Enabled = False
    Else
        Security = DLookup(“userSecurity”, “tblUser”, “UserLogin = ‘” & Me.txtLogin & “‘”)
        If Security = 1 Then
            Me.NavigationButton15.Enabled = True

        Else
            Me.NavigationButton15.Enabled = False
        End If
    End If
End Sub

1 个答案:

答案 0 :(得分:0)

我猜你有一个整个应用程序的主登录页面,这是启动表单。请记住,用户可以在打开应用程序时按住Shift键以绕过任何启动代码,但您可以禁用它。您还可以隐藏数据库容器。用户总是可以使用另一个DB来链接表或导入对象,因此您还需要使用密码锁定整个数据库。

表单启动代码可以检查您的自定义安全表,然后您可以使用Cancel = True来短路打开事件。看起来您正试图通过禁用导航按钮来实现这一点,但您可能想要禁止打开表单。

正如HansUp和Tim建议的那样,如果你能更多地描述你的情况,那么我们可以更加简洁地回应。如果您遇到需要真正安全性的情况,那么您可能需要考虑将表移动到SQL Server(或SQL Express)并将它们链接到Access容器。最终,你无法在Access中做任何我无法解决的问题。