2023年11月23日发(作者:)

可以多用户同时使用。

前提是每个用户都不能使用独占的方式打开。

共享数据库 (MDB)

注释 本主题中的信息仅适用于 Microsoft Access 数据库 (.mdb)

若要从另一台计算机上访问共享的 Microsoft Access 数据库,另一台计算机上必须具备下列

条件之一:Access 的本地安装、Access 的网络安装(逐个用户地授权)或运行时应用程序。

设置共享文件夹。

有关共享文件夹的详细信息,请使用 Microsoft Windows 帮助索引如果共享文件夹位

于网络服务器上,则可能需要网络管理员的协助。

Microsoft Access 数据库复制到一个共享文件夹。

确保 Access 数据库设为在共享方式下打开,这是默认设置。

操作方法:

工具菜单上,单击选项

高级选项卡上默认打开模式下,单击共享

注释 共享数据库之前,应该删除文件中可能存储的任何个人信息。有关详细信息,请参阅

删除 Access 文件或页面中的个人信息。

关于在网络上共享 Access 数据库 (MDB)

注释 本主题中的信息仅适用于 Microsoft Access 数据库 (.mdb)

如果您的计算机已经连接到网络中,则您和其他用户可以同时使用一个 Microsoft Access

据库。

用于共享数据的方法

在多用户环境下共享数据的方法有多种。

共享整个 Access 数据库 可以将整个 Access 数据库放在网络服务器或共享文件夹中。这

是实现整个 Access 数据库共享的最简单的方法。每个用户都能共享数据,并能使用相同的

窗体、报表、查询、宏和模块。如果要让每个用户都以相同的方式使用 Access 数据库,或

者您不能支持其他用户创建其自己的对象,则可以采取这种策略。

仅共享 Access 数据库中的表 可以只将表放在网络服务器上,而将其他数据库对象都留在

用户的计算机上。这种情况下,Access 数据库的性能会有所提高,因为只有数据是通过网

络发送的。当将一个数据库拆分为后端(表)和前端时,用户可以在不影响别人的情况下,

对其自己的前端数据库中的窗体、报表和其他对象进行自定义。

Internet 上共享 Access 数据库对象或数据访问页 可以将一个或多个数据库对象输出为

静态的 HTML 或服务器生成的 HTML 格式,或者创建数据访问页,然后用浏览器(如

Microsoft Internet Explorer)显示它们在万维网上的显示情况。

同步复制 Access 数据库 如果使用两台计算机(如,办公室计算机和便携式计算机),则可

Microsoft Windows“公文包来制作 Access 数据库的副本,并使这些副本保持同步。另

外,在不同地点工作的用户也可以同时使用其自己的副本,然后通过网络(拨号连接或

Internet)将这些副本同步。

创建客户/服务器应用程序 如果工作在客户/服务器环境中,则可以通过创建客户/服务器应

用程序而利用这种环境所提供的显著功能和安全性。应该将数据存储在数据库服务器(如

Microsoft SQL Server上的表中,而不要存储在 Microsoft Access 中的本地表内。Access

用程序(客户程序)从服务器中检索它所需要的数据。服务器维护数据的完整性并运行任何

它可以求解的查询。

锁定信息 (.ldb) 文件

以共享方式打开 Access 数据库文件 (.mdb) 时,Microsoft Access 会用同一文件名(例如,

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

息文件存储计算机名(如 mypc和每位数据库共享用户的安全名称(如 AdminMicrosoft

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

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

编辑共享数据库中的数据

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

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

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

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

果试图保存一条由其他用户锁定的记录, Microsoft Access 会显示锁定该记录的用户的名

称。

为了帮助追踪记录的状态,Microsoft Access 将在当前记录选定器内显示下列符号:

符号 含义

这条记录是当前记录并且尚未编辑。

您已编辑过这条记录,但尚未保存所做的更改。只要显示该符号,其他用户就看不到对这

条记录的更改,而且如果将这个记录锁定,他们也不能编辑这条记录。若要将该记录释放给

其他用户使用,请保存或撤消所做的更改。

这条记录已由其他用户锁定。不能对其进行编辑。如果试图在一个锁定的记录内键入数据,

Microsoft Access 将发出警告声。

还可以设置以下选项,用以控制共享数据库中数据的锁定和数据的刷新。

默认记录锁定设置

不锁定 Microsoft Access 不锁定您正在编辑的记录。当试图保存对某条记录的更改,而其他

用户已对该记录作了更改时,Microsoft Access 将显示选择信息:是覆盖其他用户对该记录

所做的更改,将自己的记录版本复制到剪贴板上,还是放弃所做的更改。该策略可以确保记

录总可以被编辑,但会造成用户之间的编辑冲突。

已编辑的记录 Microsoft Access 将锁定您正在编辑的记录,因此其他用户不能更改该记录。

这样也可能同时锁定存储在您磁盘上的其他相邻记录。如果另一位用户试图编辑您已锁定的

记录,则 Microsoft Access 会在那位用户的数据表中显示锁定记录指示符 。该策略可以确

保您总能完成已经开始的更改任务。如果不经常有编辑上的冲突,则最好采用该策略。

所有记录 对于您已打开进行编辑的窗体或数据表(及基表)Microsoft Access 将在打开的

整段时间内,锁定其中的所有记录,使其他人不能编辑或锁定这些记录。该策略具有限制性,

因此请在确认您是唯一需要编辑记录的人时,才选用该策略。

在使用 ODBC 编辑链接的 SQL 数据库表中的数据时,Microsoft Access 并不锁定记录;

而由该 SQL 数据库的规则来管理锁定。这种情况下,不论对数据库选择哪一种锁定记录设

置,Microsoft Access 都会按选择不锁定设置来处理。

页级和记录级锁定

可以指定 Access 在共享数据库中使用的锁定级别。如果使用页级锁定,则 Access 会锁定

4K 的页(记录所在的内存区域),而且编辑记录时可能会导致附近存储的其他记录也被锁

定。不过,使用页级锁定时性能往往较好。

如果使用记录级锁定,Access 将只锁定您正编辑的记录。这将成为通过窗体、数据表访问

数据时,以及通过使用记录集对象循环遍历记录的代码来访问数据时的默认行为,但不是通

过操作查询或通过使用 SQL 语句进行大量数据操作访问数据的默认行为。

更新重试间隔和刷新间隔设置

可以使用更新重试间隔更新重试次数设置来指定 Microsoft Access 尝试保存被另一

用户锁定的记录的频率和次数。也可以使用“ODBC 刷新间隔刷新间隔设置来控制

Access 刷新数据的频率。刷新只会更新数据表或窗体中已有的数据,并不将记录重新排序,

不显示新记录,也不去除已删除的记录和已不再满足条件的记录。若要查看这些更改,必须

重新查询数据表或窗体的基础记录。

保存共享数据库中的设计更改

当有其他用户正打开 Access 数据库时,用户不能将设计更改保存到 Microsoft Access 数据

库中。确保更改保存的唯一途径是以独占 模式打开 Access 数据库。

通常,当试图对数据库对象(除了表和查询)或共享模式中的某一项进行设计更改时,如果

当时您是 Access 数据库的唯一用户,则 Access 将临时提升您以独占模式使用 Access

据库。当保存所有设计更改并关闭所有设计视图窗口时,Access 会将 Access 数据库返回

共享模式。在此期间,其他用户不能打开 Access 数据库。

如果其他用户以共享模式打开了 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 数据库然后再重新打开,才能运行更新后的 Function Sub 过程。

设置共享 Access 数据库的选项 (MDB)

注释 本主题中的信息仅适用于 Microsoft Access 数据库 (.mdb)

工具菜单上,单击选项

单击高级选项卡。

请执行下列一项或多项操作:

指定 Microsoft Access 数据库的默认打开模式:共享模式还是独占模式

默认打开模式下,请执行下列操作之一:

如果希望在打开 Microsoft Access 数据库后,其他人仍可以同时打开,请单击共享

如果希望在打开 Access 数据库后,拥有唯一的访问权,请单击独占

注意

即使已将默认打开模式设置为共享,仍可以在打开 Access 数据库时暂时覆盖该设置。

如果在多用户环境下设置安全性,可以通过拒绝用户对数据库的以独占模式打开权限,

防止用户以独占模式打开 Access 数据库。

指定更新重试和刷新间隔设置

请执行下列一项或多项操作:

若要设置 Microsoft Access 自动尝试保存由另一个用户锁定的已更改记录的间隔,请在

新重试时间间隔框中键入毫秒数。有效数值为从 0 1,000

若要设置 Microsoft Access 尝试保存由另一个用户锁定的已更改记录的次数,请在更新重

试的次数框中键入次数。有效数值为从 0 10

若要设置 Microsoft Access 自动刷新用户使用 ODBC 所访问的记录的间隔,请在“ODBC

刷新间隔框中键入秒数。有效数值为从 1 32,766

若要指定数据自动更新的频率,请在刷新间隔框中键入秒数。有效数值为从 1 32,766

例如,如果键入 120,则数据每 2 分钟更新一次。只有当数据库是在网络上进行共享时,

该设置才生效。

指定记录锁定策略

当用户编辑记录时,Microsoft Access 在该用户结束记录编辑之前会自动禁止其他用户更改

该记录。赋予一位用户对一条记录的独占访问权即称作锁定

默认记录锁定下,请执行下列操作之一:

在编辑记录时,若要防止锁定记录,请单击不锁定

在编辑记录时,若要锁定窗体或数据表(以及基表)中的所有记录,请单击所有记录

若要仅锁定正在编辑的记录,请单击编辑记录

指定记录级或页级锁定

请执行下列操作之一:

若要使记录级锁定成为当前 Microsoft Access 数据库的新默认设置,可选中使用记录级锁

定打开数据库复选框。

若要使页级锁定成为当前 Access 数据库的的新默认设置,可清除使用记录级锁定打开数

据库复选框。

下次打开 Access 数据库时,该设置就会生效,但是前提是必须使用文件菜单中的打开

命令,而不能使用文件菜单底部的最近使用的文件列表。

用户及组权限设置

单纯的密码只能起到等不能打开这个数据库的作用,要使数据库的使用者拥有不同的权限,

即有的人可以修改数据库你的内容,而有的人只能看看数据库的内容而不能修改。这就需要

为不同的用户或某群用户组设置权限了。

首先将鼠标移动到主菜单上的工具按钮上,然后单击鼠标左键,会弹出一个子菜单,

鼠标移动到这个菜单上的安全选项上,会在这个选项右面弹出一个菜单,将鼠标移动到这个

菜单上的用户与组权限上,单击鼠标左键,这样会在屏幕上弹出一个对话框。

在这个对话框中,我们可以更改不同用户对数据库或其中的某个对象的访问权限。假如

我们想使用户李明只能打开运行数据库的窗体,而不想要他能打开其他的表或查询,只需要

先在用户名中选择李明,然后在对象类型下拉框中选择窗体,现在选择一个窗体,完后

将鼠标移动到权限框中选中李明可有的打开/运行项,完成这些后,单击确定按钮就可

以使李明在使用中只能看到窗体,而不能修改其他的数据内容了。也不能看到表或查询了。

上面我们只讲了怎样设置用户或组的权限,但怎样才能将所需要的人都有一定的权限,

当然还必须要给每个用户或组一个帐号,这样才能进行管理,以便分配权限。

要实现这个功能,就象刚才一样,在安全选项右面的菜单中单击鼠标,只是这次单击的

设置用户与组的帐号,随后弹出的也是用户与组帐号对话框。

我们还要在这个对话框中管理用户或组。在这个对话框中有三个选项卡,第一个用来在

在现有的组中管理用户的名称。在这个选项卡上,我们可以单击新建按钮在用户组

它组中添加新的用户,也可以单击删除按钮将组中的这个用户删去。单击清除密码

可以取消原来这个用户的密码。

下面的这两个组列表中,左面的是现在所有的组,而右面的则是在上面文本框中的这个

用户所在的组。通过中间的选择按钮就可以控制用户所在的组了。不同的组可以有不同的权

限,所有这样管理以后,处于同一组中的用户就有了同样的权限了。

选项卡则是用来管理组的,

我们可以单击新建按钮添加组,也可以单击删除按钮删除一个组。而每一个组,都

可以通过单击组合框来获得。

更改登陆密码 选项。

是当一个用户用他原来的密码登陆到Access中以后,为了安全原因,可以修改自己的

访问密码。当你设置好这些以后,单击确定按钮就可以了。