我有一个MS访问数据库。但它在共享驱动器上。并且要求只有一些选定数量的人可以使用它。有没有办法验证用户?
答案 0 :(得分:6)
是,打开数据库,然后运行工具 - >安全 - >用户级安全向导。它将引导您完成创建新工作组文件,创建用户和组以及保护Access对象的过程。
答案 1 :(得分:4)
由于Access是文件驱动的,为什么不在共享驱动器中创建文件夹并为相应的人分配文件夹权限。
答案 2 :(得分:2)
同时执行。设置目录的访问权限并为其创建新的安全文件。
该目录是您的前线安全性,并限制了宏级别的访问
安全文件可用于分割对各种表格,表格,报告等的访问。您甚至可以为我们提供只读访问权限和其他更多完整权限。
答案 3 :(得分:0)
Access 2007中不提供用户级安全性。
Get started with Access 2007 security提供:
答案 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)
两种解决方案:
将Access文件放在文件共享上,并正确设置权限。如果您需要提供只读访问权限,这不能很好地工作,因为Access无法写出打开Access文件(.mdb)时创建的临时.ldb文件。
将Access文件的“数据”移动到Sql Server实例...您可以在SQL Server中限制人们可以执行的操作。我们使用此方法提供对每个人的只读访问权限,然后是具有读写访问权限的特定人员。要将数据移动到SQL,您可以将其导入新的SQL数据库,然后将表链接到Access文件(重命名以便报表/查询/等继续工作)。