admin 管理员组

文章数量: 1086019


2024年5月17日发(作者:windows server 2016 r2)

关于在网络上共享 Access 数据库 (MDB)-----微软官方帮助

2008年11月19日 星期三 下午 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 会用同一文件名(例如,

)在该数据库文件所在的文件夹中,创建一个锁定信息文件 (.ldb)。该锁定信息文

件存储计算机名(如 mypc)和每位数据库共享用户的安全名称(如 Admin)。Microsoft Access 使

用该信息来控制并发访问。大多数情况下,在最后一个用户关闭数据库文件时,Microsoft Access

会自动删除锁定信息文件。

编辑共享数据库中的数据

在多用户环境下,可能会有多个人同时对同一条记录进行操作。因为其他人可以更改,甚至可以删

除您正在编辑的数据,所以有时可能会与其他工作用户发生冲突。

Microsoft Access 可以帮助追踪正在编辑的记录的状态,并确保您使用的是最新数据。当两人或

多人都要编辑同一条记录时,Microsoft Access 会显示信息来帮助解决冲突。例如,如果试图保

存一条由其他用户锁定的记录,则 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 过程。


本文标签: 数据库 记录 数据