有没有办法在ms-access数据库中验证用户?

时间:2008-11-07 13:02:03

标签: vba ms-access authentication access-vba ms-office

我有一个MS访问数据库。但它在共享驱动器上。并且要求只有一些选定数量的人可以使用它。有没有办法验证用户?

7 个答案:

答案 0 :(得分:6)

是,打开数据库,然后运行工具 - >安全 - >用户级安全向导。它将引导您完成创建新工作组文件,创建用户和组以及保护Access对象的过程。

答案 1 :(得分:4)

由于Access是文件驱动的,为什么不在共享驱动器中创建文件夹并为相应的人分配文件夹权限。

答案 2 :(得分:2)

同时执行。设置目录的访问权限并为其创建新的安全文件。

该目录是您的前线安全性,并限制了宏级别的访问

安全文件可用于分割对各种表格,表格,报告等的访问。您甚至可以为我们提供只读访问权限和其他更多完整权限。

答案 3 :(得分:0)

Access 2007中不提供用户级安全性。

Get started with Access 2007 security提供:

  • 信任(启用)已禁用的内容 在数据库中
  • 使用密码 加密或解密数据库
  • 打包,签名和部署Office Access 2007数据库

答案 4 :(得分:0)

如果您在域中,您是否可以使用文件级安全性来阻止用户访问它?

答案 5 :(得分:0)

我在VBA中完成所有这些工作。在交换机Form_Open sub中,使用Windows API将用户名读入字符串变量,然后检查有效用户列表中的用户名是否在其中。如果没问题,发出欢迎消息,如果没有,请退出Access。

'检查用户     昏暗的用户为字符串     Dim AuthorizedUser As Boolean     user = UCase(CurrentUser())

AuthorizedUser = True
Select Case user
    Case "USER_A":
    Case "USER_B":
    Case "USER_C":     
    Case Else: AuthorizedUser = False
End Select

If AuthorizedUser = True Then
   MsgBox "Welcome authorized user " & user
Else
   MsgBox user & "is not Authorized. For access to this database contact User_A"
   DoCmd.Quit
End If

答案 6 :(得分:-2)

两种解决方案:

  1. 将Access文件放在文件共享上,并正确设置权限。如果您需要提供只读访问权限,这不能很好地工作,因为Access无法写出打开Access文件(.mdb)时创建的临时.ldb文件。

  2. 将Access文件的“数据”移动到Sql Server实例...您可以在SQL Server中限制人们可以执行的操作。我们使用此方法提供对每个人的只读访问权限,然后是具有读写访问权限的特定人员。要将数据移动到SQL,您可以将其导入新的SQL数据库,然后将表链接到Access文件(重命名以便报表/查询/等继续工作)。