Access 2003完整教程:关于保护 Access 数据库中的 Visual Basic for Applications 代码 (MDB)

注释本主题中的信息仅适用于 Microsoft Access 数据库 (.mdb)。

可以通过使用密码或是将数据库保存为 MDE 文件来帮助保护Microsoft Visual Basic for Applications (VBA)代码。密码只有助于保护代码,而将数据库保存为 MDE 文件可保护窗体、报表和 Visual Basic 代码。用户级安全机制不保护代码,但有助于保护引用代码的窗体和报表。

使用密码保护 Visual Basic for Applications (VBA) 代码

在Microsoft Access 项目 (.adp)文件和Microsoft Access 数据库 (.mdb)文件中,可通过使用密码(您和其他用户必须输入该密码才能查看或编辑“Visual Basic 编辑器”中的 VBA 代码)保护 VBA 代码,从而帮助保护所有标准模块和类模块(如窗体和报表后面的模块)。只要设置了密码,则每次会话都需输入一次密码。不仅查看和编辑需要密码,剪切、复制、粘贴、导出和删除任何模块也需要密码。但请注意,以这种方式对 VBA 代码采取安全措施并不能阻止您或其他用户运行已有的 VBA 代码。

将数据库保存为 MDE 文件

将Microsoft Access 数据库保存为 MDE 文件时,将会编译所有模块,删除所有可编辑的源代码,并压缩目标数据库。Visual Basic 代码将继续运行,但不能对其查看或编辑。Access 数据库将继续正常运行,即仍可以更新数据和运行报表,但数据库的大小将由于代码的删除而减小。内存的使用得到优化,而性能也得以提高。

将 Access 数据库保存为 MDE 文件可防止以下操作:

模块和用户级安全机制

在 Microsoft Access 2000 或更高版本的数据库中,标准模块和类模块(如窗体和报表后面的代码)不再部署用户级安全机制(而以前的版本中它们采用用户级安全机制)。但是,窗体和报表仍利用用户级安全机制。这意味着模块、窗体和报表采用不同的安全机制。

例如,假设有适当的权限,可以向窗体中添加控件,但是如果 VBA 工程的查看权限被锁定并且该工程已被密码保护,而您不知道密码,您就无法查看或编辑窗体后面的模块。相反,通过用户级安全机制,不赋予您对对象的“修改设计”权限,即可限制您对窗体或报表的设计,但是,如果您知道 VBA 工程的密码,则仍可访问窗体和报表后面的模块。

对此也有例外。即使对窗体或报表拥有了“修改设计”的权限,也不能删除窗体或报表,而且不能将“内含模块”属性值设置为“否”,因为该操作会删除窗体和报表后面的模块。

上页:Access 2003完整教程:关于保护数据访问页的安全 下页:Access 2003完整教程:在表达式中引用对象

Access 2003完整教程:关于保护 Access 数据库中的 Visual Basic for Applications 代码 (MDB)

Access 2003完整教程:在表达式中引用对象Access 2003完整教程:关于重命名表中的字段 (MDB)
Access 2003完整教程:关于副本可见性 (MDB)Access 2003完整教程:关于限制或验证数据 (MDB)
Access 2003完整教程:关于保存对共享 Access 数据库的设计更改 (MDB)Access 2003完整教程:关于保存密码 (ADP)
Access 2003完整教程:关于将复制的 Access 数据库保存为 MDE 文件 (MDB)Access 2003完整教程:关于保护 Access 项目中的 Visual Basic for Applications 代码
Access 2003完整教程:关于为 Access 文件设置超链接基础Access 2003完整教程:关于设置副本优先级 (MDB)
Access 2003完整教程:宏安全级别Access 2003完整教程:关于在网络上共享 Access 数据库 (MDB)
Access 2003完整教程:关于智能标记Access 2003完整教程:关于同步冲突 (MDB)
Access 2003完整教程:关于选择同步方法 (MDB)Access 2003完整教程:关于主题
Access 2003完整教程:关于 Microsoft 所支持的智能标记Access 2003完整教程:关于用 Microsoft Outlook 跟踪工作和查找文件
Access 2003完整教程:关于更新 Access 项目中的数据Access 2003完整教程:关于升迁 Microsoft Access 数据库
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号