在网络上共享 Access 数据库
关于在网络上共享 Access 数据库 (MDB)-----微软官方帮助
20081119 星期三 下午 10:19
如果您的计算机已经连接到网络中,则您和其他用户可以同时使用一个 Microsoft Access 数据库 (数据库:与特定主题或用途相关的数据的集合。在数据库内,关于特定实体的信息(如雇员或订单)分类归纳到表、记录和字段中。)
用于共享数据的方法
在多用户环境下共享数据的方法有多种。
共享整个 Access 数据库 可以将整个 Access 数据库放在网络服务器或共享文件夹中。这是实现整个 Access 数据库共享的最简单的方法。每个用户都能共享数据,并能使用相同的窗体、报表、查询、宏和模块。如果要让每个用户都以相同的方式使用 Access 数据库,或者您不能支持其他用户创建其自己的对象,则可以采取这种策略。
仅共享 Access 数据库中的表 可以只将表放在网络服务器上,而将其他数据库对象都留在用户的计算机上。这种情况下,Access 数据库的性能会有所提高,因为只有数据是通过网络发送的。当将一个数据库拆分为后端(表)和前端时,用户可以在不影响别人的情况下,对其自己的前端数据库中的窗体、报表和其他对象进行自定义。
Internet 上共享 Access 数据库对象或数据访问页 可以将一个或多个数据库对象输出为静态的 HTML (HTML:万维网文档所用的标准标记语言。HTML 使用标记来指定 Web 浏览器对文字和图形等网页元素的显示方式以及对用户操作的响应方式。) 服务器生成的 HTML (服务器生成的 HTML:Active Server Pages (ASP) 或 IDC/HTX 文件,由表、查询或窗体输出,连接到 ODBC 数据源,并且由 Internet Information Server 处理,以动态地创建只读的 HTML 文件。) 格式,或者创建数据访问页 (数据访问页:Access 发布的网页,包含与数据库的连接。在数据访问页中,可查看、添加到、编辑以及操作数据库中存储的数据。这种页也可以包含来自其他源(如 Excel)的数据。),然后用浏览器(如 Microsoft Internet Explorer)显示它们在万维网 (万维网 (WWW):Internet 的多媒体分支,不仅显示文本,还提供图形、声音和视频。在网站上,用户使用超链接可轻松地在项目、页面或网站之间跳转。)上的显示情况。
同步复制 Access 数据库    如果使用两台计算机(如,办公室计算机和便携式计算机),则可用 Microsoft Windows“公文包来制作 Access 数据库的副本 (副本:属于一个副本集并且可与该集合中其他副本同步的一个数据库副本。在一个副本中对复制的表的数据所做的更改会发送并应用到其他副本。),并使这些副本保持同步 (同步:通过交换每个成员中所有已更新的记录和对象,来更新一个副本集的两个成员的过程。当每个副本集内的更改都相互应用于另一个副本集时,两个副本集成员就实现了同步。)。另外,在不同地点工作的用户也可以同时使用其自己的副本,然后通过网络(拨号连接或 Internet)将这些副本同步。
创建客户/服务器应用程序    如果工作在客户/服务器环境中,则可以通过创建客户/服务器应用程序而利用这种环境所提供的显著功能和安全性。应该将数据存储在数据库服务器(如 Microsoft SQL Server)上的表中,而不要存储在 Microsoft Access 中的本地表内。Access 应用程序(客户程序)从服务器中检索它所需要的数据。服务器维护数据的完整性并运行任何它可以求解的查询。
锁定信息 (.ldb) 文件
以共享方式打开 Access 数据库文件 (.mdb) 时,Microsoft Access 会用同一文件名(例如,Northwind.ldb)在该数据库文件所在的文件夹中,创建一个锁定信息文件 (.ldb)。该锁定信息文件存储计算机名(如 mypc)和每位数据库共享用户的安全名称(如我的快乐就是想你 Admin焊接缺陷)。Microsoft Access 使用该信息来控制并发访问。大多数情况下,在最后一个用户关闭数据库文件时,Microsoft Access 会自动删除锁定信息文件。
编辑共享数据库中的数据
在多用户环境下,可能会有多个人同时对同一条记录进行操作。因为其他人可以更改,甚至可以删除您正在编辑的数据,所以有时可能会与其他工作用户发生冲突。
黑牙带鱼Microsoft Access 可以帮助追踪正在编辑的记录的状态,并确保您使用的是最新数据。当两人或多人都要编辑同一条记录时,Microsoft Access 插头除夕的古诗10首会显示信息来帮助解决冲突。例如,如果试图保存一条由其他用户锁定的记录,则 Microsoft Access 会显示锁定该记录的用户的名称。
为了帮助追踪记录的状态,Microsoft Access 将在当前记录选定器 (记录选择器:记录左侧的小框或条,在数据表视图和窗体视图中单击它可以选定整条记录。)内显示下列符号:
符号
含义
这条记录是当前记录并且尚未编辑。
您已编辑过这条记录,但尚未保存所做的更改。只要显示该符号,其他用户就看不到对这条记录的更改,而且如果将这个记录锁定,他们也不能编辑这条记录。若要将该记录释放给其他用户使用,请保存或撤消所做的更改。
这条记录已由其他用户锁定。不能对其进行编辑。如果试图在一个锁定的记录内键入数据,Microsoft Access 将发出警告声。

还可以设置以下选项,用以控制共享数据库中数据的锁定和数据的刷新。
默认记录锁定设置
不锁定    Microsoft Access 不锁定您正在编辑的记录。当试图保存对某条记录的更改,而其他用户已对该记录作了更改时,Microsoft Access 将显示选择信息:是覆盖其他用户对该记录所做的更改,将自己的记录版本复制到剪贴板上,还是放弃所做的更改。该策略可以确保记录总可以被编辑,但会造成用户之间的编辑冲突。
已编辑的记录    Microsoft Access 将锁定您正在编辑的记录,因此其他用户不能更改该记录。这样也可能同时锁定存储在您磁盘上的其他相邻记录。如果另一位用户试图编辑您已锁定的记录,则 Microsoft Access 会在那位用户的数据表中显示锁定记录指示符 。该策略可以确保您总能完成已经开始的更改任务。如果不经常有编辑上的冲突,则最好采用该策略。
所有记录    对于您已打开进行编辑的窗体或数据表(及基表),Microsoft Access 将在打开的整段时间内,锁定其中的所有记录,使其他人不能编辑或锁定这些记录。该策略具有限制性,因此请在确认您是唯一需要编辑记录的人时,才选用该策略。
在使用 ODBC (开放式数据库连接 (ODBC):在数据库和程序间共享数据的标准方法。ODBC 驱动程序使用标准结构化查询语言 (SQL) 获得外部数据的访问权限。) 编辑链接的 SQL 数据库 (SQL 数据库:基于结构化查询语言 (SQL) 的数据库。)表中的数据时,Microsoft Access 并不锁定记录;而由该 SQL 数据库的规则来管理锁定。这种情况下,不论对数据库选择哪一种锁定记录设置,Microsoft Access 都会按选择不锁定设置来处理。
页级和记录级锁定
可以指定 Access 在共享数据库中使用的锁定级别。如果使用页级锁定,则 Access 会锁定 4K 的页(记录所在的内存区域),而且编辑记录时可能会导致附近存储的其他记录也被锁定。不过,使用页级锁定时性能往往较好。
如果使用记录级锁定,Access 将只锁定您正编辑的记录。这将成为通过窗体 (窗体:Access 数据库对象之一,可以在这种对象上放置控件,用于执行操作,或在字段中输入、显示、编辑数据。)、数据表访问数据时,以及通过使用记录集 (记录集:表、动态集和快照类型的 Recordset 对象统称为“记录集”。记录集是记录的集合,行为类似于对象。)对象循环遍历记录的代码来访问数据时的默认行为,但不是通过操作查询或通过使用 SQL 语句进行大量数据操作访问数据的默认行为。
更新重试间隔和刷新间隔设置
可以使用更新重试间隔更新重试次数设置来指定 Microsoft Access 尝试保存被另一用户锁定的记录的频率和次数。也可以使用ODBC 刷新间隔刷新间隔设置来控制 Access 刷新数据的频率。刷新只会更新数据表或窗体中已有的数据,并不将记录重新排序,不显示新记录,也不去除已删除的记录和已不再满足条件的记录。若要查看这些更改,必须重新查询数据表或窗体的基础记录。
保存共享数据库中的设计更改
当有其他用户正打开 Access 数据库时,用户不能将设计更改保存到 Microsoft Access 数据库 (Microsoft Access 数据库:数据和对象(如表、查询或窗体)组成的集合,与特定的主题或用途有关。)中。确保更改保存的唯一途径是以独占 (独占:对网络共享数据库中数据的一种访问方式。当以独占模式打开数据库时,也就禁止了他人打开该数据库。) 模式打开 Access 数据库。
通常,当试图对数据库对象 (数据库对象:Access 数据库包含诸如表、查询、窗体、报表、页、宏和模块等对象;Access 项目包含诸如窗体、报表、页、宏和模块等对象。)(除了表和查询)或共享模式中的某一项进行设计更改时,如果当时您是 Access 数据库的唯一用户,则 Access 将临时提升您以独占模式使用 Access 数据库。当保存所有设计更改并关闭所有“设计”视图 (设计视图:显示数据库对象(包括:表、查询、窗体、宏和数据访问页)的设计的窗口。在设计视图中,可以新建数据库对象和修改现有数据库对象的设计。)窗口时,Access 会将 Access 数据库返回共享模式。在此期间,其他用户不能打开 Access 数据库。
如果其他用户以共享模式打开了 Access 数据库而您试图做一个主要的设计更改,如修改窗体,则 Access 会警告您可能不能保存更改。但如果其他用户以共享模式打开 Access 数据库而您试图做一个次要的设计更改,如更改打印机设置,则 Access 不会警告您不能保存更改。在这两种情况下,都要等到成为 Access 数据库的唯一用户时,您才能保存主要设计更改,而 Access 保存次要设计更改。
数据访问页 (数据访问页:Access 发布的网页,包含与数据库的连接。在数据访问页中,可查看、添加到、编辑以及操作数据库中存储的数据。这种页也可以包含来自其他源(如 Excel)的数据。)的处理方式有所不同。尽管创建、重命名、移动和删除数据访问页仍要求使用独占模式(因为这要更改 Access 数据库中的信息),但是编辑数据访问页不要求提升为独占模式(因为相应的 HTML 文件存在于数据库以外的文件系统中)。
主次设计更改之间的差别
如果没有以独占模式访问 Access 数据库,则 Access 将在可能无法保存以下主要设计更改时向您发出警告:
设计视图中对数据库对象的更改(除表和查询以外)
“窗体”视图 (窗体视图:一个显示窗体以便显示或接受数据的窗口。窗体视图是添加和修改表中数据的主要方式。在该视图中还可以更改窗体的设计。)中对窗体属性表的更改
Visual Basic 编辑器中编译项目 (项目:数据库中所有代码模块的集合,包括标准模块和类模块。默认情况下,项目与数据库同名。)、修改项目属性、添加或删除引用
重命名、粘贴或删除数据库对象
将数据库对象另存为其他类型的数据库对象
添加或修改命令栏上的控件
“数据库”窗口 (数据库窗口:在打开 Access 数据库或 Access 项目时出现的窗口。它显示用于新建数据库对象和打开现有对象的快捷方式。)中编辑自定义组
创建、重命名、移动和删除数据访问页
如果没有以独占模式访问 Access 数据库,则在可能无法保存以下次要设计更改时,Access 不会发出警告:
对数据表格式(如线型和字体属性)的更改
冻结、撤消冻结、隐藏和显示数据表列
调整数据表列宽和行高
对窗体或数据表筛选或排序次序的更改
对子数据表状态的更改(展开还是折叠)
OLE (OLE:一种可用于在程序之间共享信息的程序集成技术。所有 Office 程序都支持 OLE,所以可通过链接和嵌入对象共享信息。) 对象的 OLE/DDE 链接 (OLE/DDE 链接:OLE 对象及其 OLE 服务器之间,或动态数据交换 (DDE) 的源文档与目标文档之间的一种连接。)的更改或对未绑定对象框 (未绑定对象框:一个控件,放置在窗体或报表上用于包含未绑定对象。未绑定对象是一个对象,如图片,它的值不是从表中存储的数据派生的。)内容的更改
对打印机设置的更改
对命令栏的更改,如命令栏的位置及其是否可视
数据库窗口布局的更改
新车多少公里换机油共享 Access 数据库设计和开发的策略
如果要共享 Access 数据库的设计,不妨考虑使用以下策略:
针对特定的开发者指定特定的对象或对象组。例如,一位开发者设计窗体而另一位设计报表。然后,每位开发者可以在 Access 数据库的私有副本上工作。当开发小组准备测试、组装和生产时,每位开发者从各自的私有数据库副本中将数据库对象导出到主 Access 数据库中。
使用源代码控制程序。如果使用 Visual SourceSafe,最好定期运行性能分析器(在工具菜单上指向分析,然后单击性能即可打开)来保持最佳性能。
有关在共享数据库中保存设计更改的提示
如果另一位用户已打开某个表或正在查看基于该表的查询、窗体或报表中的数据,则不能更改该表的设计。Microsoft Access 将告知该表为只读。
如果某些对象彼此依赖,请同时将它们全部更新,这样其他用户才不至于打开不一致的对象版本。例如,如果要在某窗体中添加新字段,请在更新该窗体前确保也在基础查询中添加了新字段。
如果更改另一位用户已经打开的查询,则该用户必须在关闭并重新打开更改的对象后,才能使用最新的版本。在使用 Visual Basic for Applications (VBA) 模块时,其他用户必须先关闭 Access 数据库然后再重新打开,才能运行更新后的 Function Sub 过程。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。