本帖最后由 access学习交流 于 2015-2-13 10:35 编辑
在讲生成MDE的之前,先来看看什么是MDE,可能很多新手都不知道它的具体含义,只知道发布的时候需要生成MDE
关于MDE文件如果数据库包含Microsoft Visual Basic 代码,将 MicrosoftAccess 数据库保存为 MDE 文件,这个过程编译所有模块;删除所有可编辑的源代码;并压缩目标数据库。VisualBasic 代码将继续运行,但不能查看或编辑,但由于代码的删除使 Access 数据库变小。另外,内存的使用会得到优化,因而提高了性能。
将 Access 数据库保存为 MDE 文件可防止以下操作: - 在“设计”视图中查看、修改或创建窗体、报表或模块。
- 添加、删除或更改指向对象库或数据库的引用。
- 更改使用 Microsoft Access 或 VBA 对象模型的属性或方法的代码 — 不包含源代码的 MDE 文件。
- 导入或导出窗体、报表或模块。但是,可以在表、查询、宏中导入或导出非 MDE 数据库。任何 MDE 文件中的表、查询或宏都能导入到其他 Access 数据库中,但窗体、报表或模块则不能导入到其他 Access 数据库中。
注意: - 确认保存了原始 Access 数据库的一个副本。在保存为MDE 文件的 Access 数据库中,如果需要修改窗体、报表或模块的设计,必须打开原始的 Access 数据库以修改它,并再次将它保存为 MDE 文件。如果需要以后修改窗体、报表或模块的设计,将包含表的 Access 数据库保存为 MDE 文件可以创建使不同版本数据协调的并发数据。正是因为这个原因,对于前端/后端应用程序的前端数据库,将 Access 数据库保存为 MDE 文件是最合适的。
- 在将来的 Microsoft Access 版本中,将不能打开、转换或运行 Microsoft Access 2000 MDE 文件中的代码。将Microsoft Access 2000 MDE 文件转换为将来版本的唯一方法是:打开创建 MDE 文件的原始 Access 数据库,对它进行转换,并将转换后的 Access 数据库保存为 MDE 文件。
要点 将 Access 数据库保存为 MDE 文件的限制:
- 如果 Access 数据库是使用用户及安全机制进行保护的,则必须符合某些准则条件。
- 必须有访问 Visual Basic 代码的密码。
- 如果复制了数据库,必须先删除复制系统的表和属性。
- 如果您的 Access 数据库引用了其他 Access 数据库,或加载项,则必须将引用链中的所有 Access 数据库或加载项保存为 MDE 文件。
关于对保存为 MDE 文件的 Microsoft Access 数据库使用数据库密码和用户级安全机制创建 MDE 文件来确保MicrosoftAccess 数据库中的窗体、报表以及 Microsoft Visual Basic 代码的安全,而不需要用户在登录或创建及管理用户级安全机制时所需的用户帐号与权限。但是,如果在将 Access 数据库保存为 MDE 文件之前定义了数据库密码或用户级安全机制,那些特性仍然应用到由那个数据库创建的 MDE 文件中,如果 Access 数据库有数据库密码或用户级安全机制定义,并且要删除这些特性,必须在将它保存为 MDE 文件之前进行。
如果要将带有用户级安全机制设置的数据库保存为 MDE 文件,必须符合下列要求: - 必须联接工作组信息文件,它用于定义用户访问数据库帐号,或用于创建数据库。
- 用户帐号必须有数据库的“打开/运行”及“以独占方式打开”权限。
- 用户帐号在数据库中的任何表必须有“修改设计”或“管理员”的权限,或者必须是数据库中任何表的拥有者。
- 用户帐号对数据库中的所有对象必须有“读取设计”的权限。
关于MDE和ACCDE
MDE和ACCDE其实是同一个含义。MDE是2003及之前的版本生成,ACCDE是2007及以后的版本生成。功能机制大同小异。
早期的版本微软是采用jet数据库引擎,后面采用的是ACE引擎。所以会有这两个版本的区分。至于为什么,这里不详细讨论。
生成MDE或者ACCDE
1、Access2003生成MDE
首选第一步是必须的,确保编译(VBE窗口,调试-编译)无误;打开菜单栏-工具-数据库实用工具-生成MDE文件,保存即可,如下图
2、Access2010生成ACCDE
同理,确保编译成功方可生成ACCDE文件。打开Access-文件-保存并发布-选项生成ACCDE-另存为 。即可生成ACCDE文件,如下图
|