我有一个Access数据库,我想让它只适用于一台计算机。如果有人拿走了我的数据库的副本,他们就不能在另一台机器上打开它。
我在想数据库可以检查计算机的属性,看它们是否与运行它的机器相匹配。如果没有,数据库将显示一个MsgBox,上面写着“由于您复制到其他计算机,因此无法打开此数据库,请致电程序员。”
答案 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)
在访问中,您可以使用密码加密数据库。这只允许拥有密码的用户打开数据库。
答案 2 :(得分:0)
自己一直在寻找答案......并且遇到了这个问题。 此链接显示了一些可能更独特的方式。 您可以检查硬盘序列号或主板序列号。 计算机名称和用户名可以移动到其他PC ......移动硬盘或主板会更加困难。