阻止在其他计算机上使用Access数据库

时间:2014-06-23 11:29:56

标签: ms-access access-vba

我有一个Access数据库,我想让它只适用于一台计算机。如果有人拿走了我的数据库的副本,他们就不能在另一台机器上打开它。

我在想数据库可以检查计算机的属性,看它们是否与运行它的机器相匹配。如果没有,数据库将显示一个MsgBox,上面写着“由于您复制到其他计算机,因此无法打开此数据库,请致电程序员。”

3 个答案:

答案 0 :(得分:1)

您可以在启动例程中使用VBA来检查以下属性是否与某些预定值匹配:

VBA.Environ("ComputerName")
VBA.Environ("UserDomain")
VBA.Environ("UserName")

要阻止用户通过按住Shift键绕过启动例程,可以使用以下代码作为一次性向数据库添加属性以防止这种情况(适用于Access 2007,不确定早期版本) ):

Dim AllowBypassKey As Property
Set AllowBypassKey = CurrentDb.CreateProperty("AllowBypassKey", dbBoolean, vbFalse)
CurrentDb.Properties.Append AllowBypassKey

答案 1 :(得分:0)

在访问中,您可以使用密码加密数据库。这只允许拥有密码的用户打开数据库。

http://office.microsoft.com/en-001/access-help/encrypt-a-database-by-using-a-database-password-HA010096299.aspx#BM2

答案 2 :(得分:0)

自己一直在寻找答案......并且遇到了这个问题。 此链接显示了一些可能更独特的方式。 您可以检查硬盘序列号或主板序列号。 计算机名称和用户名可以移动到其他PC ......移动硬盘或主板会更加困难。

http://www.mrexcel.com/forum/excel-questions/457262-visual-basic-applications-code-do-check-valid-use-computer.html