保存对共享Access数据库的设计更改(MDB)
注意:本文中的信息仅适用于Microsoft Access数据库(。mdb)。
当其他用户打开Access数据库时,该用户无法将设计更改保存到Microsoft Access数据库中。确保保存更改的方法是以独占模式打开Access数据库。
通常,当您尝试在共享模式下对数据库对象(不包括表和查询)或项目进行设计更改时,如果您当时是Access数据库的用户,Access会暂时提示您以独占模式使用Access数据库。保存所有设计更改并关闭所有设计视图窗口后,Access会将Access数据库返回到共享模式。在此期间,其他用户将无法打开Access数据库。如果使用的是Visual Basic编辑器(VBE),还需要保存所有打开的模块并关闭VBE。
如果另一个用户以共享模式打开Access数据库,而您试图进行重大的设计更改,如修改窗体,Access将警告您可能无法保存更改。但是,如果另一个用户以共享模式打开Access数据库,而您试图进行微小的设计更改(如更改打印机设置),Access不会警告您无法保存更改。在这两种情况下,只有成为Access数据库的用户后,才能保存主要的设计更改,而Access保存次要的设计更改。
数据访问页的处理方式不同。虽然创建、重命名、移动和删除数据访问页仍然需要独占模式(因为它会更改Access数据库中的信息),但编辑数据访问页不需要提升到独占模式(因为相应的HTML文件存在于数据库外部的文件系统中)。
主要设计变更和次要设计变更之间的差异
如果不以独占模式访问Access数据库,Access将在下列主要设计更改可能无法保存时发出警告:
◆设计视图中数据库对象(表和查询除外)的更改
◆在窗体视图中更改窗体属性表
◆在Visual Basic编辑器中编译项目、修改项目属性、添加或删除引用。
◆重命名、粘贴或删除数据库对象。
◆将数据库对象保存为其他类型的数据库对象。
◆添加或修改命令栏上的控件。
◆在数据库窗口中编辑自定义组。
◆创建、重命名、移动和删除数据访问页
如果不在独占模式下访问Access数据库,当下列微小的设计更改可能无法保存时,Access不会发出警告:
◆数据表格式的更改(如线型和字体属性)
◆冻结、解冻、隐藏和显示数据表列。
◆调整数据表的列宽和行高。
◆更改表单或数据表的过滤或排序顺序。
◆更改子数据表的状态(展开或折叠)
◆对OLE对象的OLE/DDE链接的更改或对未绑定对象框内容的更改
◆更改打印机设置
◆对命令栏的更改,如命令栏的位置以及命令栏是否可见。
◆更改数据库窗口的布局
共享Access数据库的设计与开发策略
如果希望共享Access数据库的设计,请考虑使用以下策略:
◆为特定开发人员指定特定对象或对象组。例如,一个开发人员设计一个表单,另一个开发人员设计一个报表。然后,每个开发人员都可以使用Access数据库的私有副本。当开发团队准备好测试、组装和生产时,每个开发人员将数据库对象从他们各自的私有数据库副本导出到主Access数据库。
◆利用源代码控制程序。如果使用Visual SourceSafe,请定期运行性能分析器(在“工具”菜单上,指向“分析”,然后单击“性能”将其打开)以保持性能。
在共享数据库中保存设计更改的提示
◆如果另一个用户已经打开了一个表,或者正在查看基于该表的查询、窗体或报表中的数据,则不能更改该表的设计。Microsoft Access将告诉该表是只读的。
◆如果一些对象相互依赖,请同时更新它们,这样其他用户就不会打开对象的不一致版本。例如,如果要向窗体添加新字段,请确保在更新窗体之前,新字段也已添加到基础查询中。
◆如果您更改另一个用户打开的查询,该用户必须关闭并重新打开已更改的对象,然后才能使用最新版本。当使用Visual Basic for Applications (VBA)模块时,其他用户必须先关闭然后重新打开Access数据库,然后才能运行更新的函数或子程序。
0条评论