Access关于 MDE 文件 (MDB)教程

来源:转载

如果数据库中包含 Microsoft Visual Basic for Applications (VBA) 代码,则将Microsoft Access 数据库保存为 MDE 文件时会编译所有模块,删除所有可编辑的源代码,并压缩目标数据库。Visual Basic 代码将继续运行,但无法再查看或编辑这些代码。通过将数据库保存为 MDE 文件,无需用户登录或创建和管理用户级安全机制所需的用户帐户及权限,即可有助于保护窗体和报表的安全。您的数据库将继续像以往一样正常工作,您仍可以更新数据和运行报表。

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

在“设计”视图中查看、修改或创建窗体、报表或模块。

添加、删除或更改对对象库或数据库的引用。

更改代码(MDE 文件中没有源代码)。

导入或导出窗体、报表或模块。但是,可以在表、查询、数据访问页和宏中导入或导出非 MDE 数据库。

需要修改窗体、报表或模块的设计时的注意事项

确保有原始 Access 数据库的一个副本。如果需要修改 MDE 文件中窗体、报表或模块的设计,必须修改原始的 Access 数据库,然后重新保存为 MDE 文件。如果以后需要修改窗体、报表或模块的设计,则可以将包含表的 Access 数据库保存为 MDE 文件,这样会创建使不同版本数据协调的并发数据。基于此,对于前端/后端应用程序的前端数据库,将 Access 数据库保存为 MDE 文件是最合适的。

代码不再使用用户级安全机制

在 Access 的前几个版本中,用户级安全机制可用于 VBA 模块。在 Microsoft Access 2000 及更高版本中,所有用于 Access 数据库 (.mdb) 文件或 Access 项目 (.adp) 文件的 Visual Basic 代码,包括独立模块和类模块(如窗体和报表后面的代码),都必须利用安全机制,例如设置密码或将数据库另存为 MDE 或 ADE 文件,而后一种方法会删除源代码。

将数据库保存为 MDE 文件前的注意事项

将 Access 数据库保存为 MDE 文件时,有些限制条件:

必须有访问 Visual Basic 代码的密码。

如果数据库已被复制,必须首先删除副本。

如果此 Access 数据库引用了其他 Access 数据库或加载项,则必须将引用链中所有的 Access 数据库或加载项都保存为 MDE 文件。

另外,如果在将 Access 数据库保存为 MDE 文件前已经定义了数据库密码或用户级安全机制,则这些功能仍适用于从该数据库创建的 MDE 文件。如果该 Access 数据库定义有数据库密码或用户级安全机制,要想删除这些功能,必须在将其保存为 MDE 文件前先行删除。

若要将已使用用户级安全机制的 Access 数据库另存为 MDE 文件,在开始保存前必须满足下列要求:

必须联接用于定义访问数据库所用的用户帐户或创建数据库时所用用户帐户的工作组信息文件。

用户帐户必须对数据库拥有“打开/运行”及“以独占方式打开”权限。

用户帐户必须对数据库中的所有表拥有“修改设计”或“管理员”的权限,或者您必须是数据库中所有表的所有者。

用户帐户必须对数据库中的所有对象拥有“读取设计”的权限。

关于引用和 MDE 文件

如果试图从引用另一个数据库或加载项的 Microsoft Access 数据库 (.mdb) 或加载项 (.mda) 中创建 MDE 文件,Access 将显示错误信息并且不允许完成操作。若要将引用另一个数据库的数据库保存为 MDE 文件,必须从第一个被引用的数据库开始,将引用链中所有的数据库都保存为 MDE 文件。将第一个数据库保存为 MDE 文件后,必须接着在将下一个数据库保存为 MDE 文件之前,先更新下一个数据库中的引用使其指向新的 MDE 文件,以此类推。

例如,如果 Database1.mdb 引用了 Database2.mdb,而 Database2.mdb 又引用了 Database3.mda,则必须遵循下列过程:

将 Database3.mdb 保存为 Database3.mde。

打开 Database2.mdb 并将其引用指向新的 Database3.mde。

将 Database2.mdb 保存为 Database2.mde。

打开 Database1.mdb 并将其引用指向新的 Database2.mde。

将 Database1.mdb 保存为 Database1.mde。

关于将同步复制的数据库保存为 MDE 文件

同步复制的数据库(副本或 “设计母版” )不能保存为 MDE 文件。若要将同步复制的数据库保存为 MDE 文件,就必须先删除同步复制。

将数据库保存为 MDE 文件后,可对其进行同步复制,但仅建议在原始数据库不需要作进一步更改的情况下进行同步复制。没有方法可以对“设计母版”MDE 文件中的窗体、报表或代码的设计进行更改,并且在原始数据库中所作的设计更改也不能与预先存在的 MDE 副本同步。基于此,如果需要对一个 MDE 文件的副本集进行设计更改,则必须先在原始数据库中进行更改,再将它重新保存为 MDE 文件,然后从新的 MDE 文件创建并分发一个全新的副本集。

分享给朋友:
您可能感兴趣的文章:
随机阅读: