名称自动更正有助于防止 Access 桌面数据库在数据库设计发生更改时中断。 名称自动更正可以:
-
检测何时更改数据库对象的名称将导致其他对象中断
-
自动更正此问题
-
记录它所做的任何更正
默认情况下,名称“自动更正”设置为检测和更正问题,但不会记录更正。 名称自动更正会稍微降低系统性能,如果数据库设计不受计划外设计更改的约束,则可能需要将其关闭。 或者,你可能希望 Access 跟踪它做出的更正。 可以为每个桌面数据库设置名称自动更正选项。
注意: 名称自动更正有助于使数据库对象的名称保持同步。 其他潜在的设计更改问题(如删除的数据库对象引起的问题)不通过名称“自动更正”直接处理。
本文内容
为何应使用名称“自动更正”?
在设计经常由用户更改的 Access 数据库中工作时,如果其他数据库对象的设计发生更改,数据库对象可能会停止工作。 发生此情况的一种方式是对象名称发生更改,但该更改不附带对依赖于原始对象的对象的相应更改。
例如,如果创建基于名为 Customers 的表的查询,并且该表的名称稍后更改为 Customer,则创建的查询将因此名称更改而停止工作。 查询没有其他错误,如果更正了查询设计中的表名称,查询会再次工作。
名称自动更正功能可以跟踪名称更改,并且可以自动更正窗体、报表、表、查询、字段或控件(如文本框)的名称。
名称自动更正和对象依赖项信息
名称自动更正为表、查询、窗体和报表创建对象依赖项信息的名称映射。 通过这些映射,可以使用“ 对象依赖项 ”任务窗格查看依赖于所选表或窗体的对象列表,以及查看表或窗体所依赖的对象。 每次保存和关闭该对象时,对象的名称映射都会更新。
注意: 默认情况下,在使用旧版 Access 创建的数据库中不启用名称更改跟踪,即使在将这些数据库转换为较新的数据库文件格式之后也是如此。 但是,可以将此类数据库转换为较新的格式后启用名称更改跟踪。
何时不应使用名称自动更正?
在以下情况下,请勿使用名称自动更正:
-
数据库设计不会更改 如果数据库的设计未更改,可以通过关闭名称“自动更正”来提高系统性能。
-
希望使数据库文件更小,并且愿意手动管理对象名称更改 为数据库启用名称“自动更正”后,你可能会注意到数据库大小增加。 这种增加是由于名称自动更正在启用时创建的名称映射。 如果禁用名称自动更正,则会删除名称映射,这会减小数据库的大小。
名称为“自动更正”的项不正确
名称自动更正不会更正以下内容:
-
不会跟踪对窗体、报表或控件名称的更改。
-
宏或代码中的表、查询或字段名称不会更正。
名称自动更正的工作原理
名称自动更正包括三个选项: 跟踪名称自动更正信息、 执行名称自动更正和 日志名称自动更正更改。 最后两个选项中的每一个选项都取决于启用的上一个选项。
跟踪名称自动更正信息
启用名称自动更正以跟踪数据库的名称更改时,Access 将执行以下操作:
-
尝试获取对数据库的独占访问权限。
-
搜索打开的对象。
-
提示并关闭打开的对象。
-
通过打开、保存和关闭所有表、查询、窗体和报表来汇报名称映射。
-
将数据库返回到提升为“独占”之前处于的任何状态。
中断的名称映射
创建名称映射可能需要几分钟时间。 可以按 ESC 取消此步骤。 但是,某些对象的名称映射将过时,在更新名称映射之前,你将无法查看这些对象的依赖项信息。
注意: 如果在更新名称映射时按 ESC) 中断 Access (,Access 不会禁用 “跟踪名称自动更正信息 ”选项。 “跟踪名称自动更正信息”选项保持选中状态,即使名称映射尚未全部更新。 若要重启更新名称映射的过程,请使用此过程:
-
在功能区上,单击“ 文件 > 选项” 打开“ 访问选项 ”对话框。
-
在“Access 选项”对话框的左侧窗格中,单击“当前数据库”。
-
清除“跟踪名称自动更正信息检查”框,然后单击“确定”。 Access 将警告你,必须关闭所有打开的数据库对象才能使更改生效。
-
关闭并重新打开数据库。
-
重新打开“访问选项”对话框,然后在“当前数据库”类别下,选中“跟踪名称自动更正信息检查”框,然后单击“确定”。
或者,若要手动更新特定对象的名称映射,请在“设计”视图中打开对象,然后保存该对象。
禁用跟踪名称自动更正信息时会发生什么情况?
关闭名称自动更正以停止跟踪名称更改时,Access 将执行以下操作:
-
尝试获取对数据库的独占访问权限。
-
搜索打开的对象。
-
提示并关闭打开的对象。
-
从所有表、查询、窗体和报表中删除名称映射。
-
将数据库返回到提升为“独占”之前处于的任何状态。
如果 Access 未完成跟踪更改或删除名称映射的过程,它将在“名称自动更正保存失败”表中记录错误。
执行名称自动更正
必须先启用 “跟踪名称自动更正信息 ”选项,然后才能启用“ 执行名称自动更正 ”选项。
启用“ 执行名称自动更正 ”选项时,Access 使用名称映射来确定名称更改是否会影响其他数据库对象,然后更正名称更改发生在其他对象中的位置。
记录名称自动更正的更改
必须先启用 “跟踪名称自动更正信息 ”选项和 “执行名称自动更正 ”选项,然后才能启用 “日志名称自动更正更改 ”选项。
启用 “日志名称自动更正更改 ”选项后,Access 会跟踪由于对象名称更改而进行的更正。 每次更正都显示为“名称自动更正日志”表中的一条记录。
启用或禁用名称自动更正选项
可以在“访问选项”对话框中启用所有三个名称自动更正 选项 。 只能为当前数据库启用或禁用名称自动更正选项。
-
在功能区上,单击“ 文件 > 选项” 打开“ 访问选项 ”对话框。
-
在“Access 选项”对话框的左侧窗格中,单击“当前数据库”。
-
在 “名称自动更正选项”下,选择或清除所需的选项:
-
跟踪名称自动更正信息 选择此选项后,Access 会跟踪数据库中的对象名称更改。 跟踪信息存储在名称映射中。 首次启用此选项时,Access 会为每个现有数据库对象创建一个名称映射。 只要此选项保持选中状态,名称映射将保持最新状态。 名称映射用于修复重命名导致的错误,以及生成对象依赖项信息。 无法直接访问名称映射。
必须先选择此选项,然后才能选择其他名称自动更正选项。
注意: 启用此选项不会导致自动更正名称更改。 启用此选项只会创建用于将来更正的映射。
-
执行名称自动更正 选择此选项后,Access 会在发生名称更改时自动修复这些更改。 仅当已选择“ 跟踪名称自动更正信息 ”选项时,才能选择此选项。 若要执行名称自动更正,Access 将使用启用 “跟踪名称自动更正信息 ”选项时创建的名称映射。
必须先选择此选项,然后才能选择 “日志名称自动更正更改 ”选项。
-
记录名称自动更正的更改 Access 会维护名为“自动更正”的更正日志。 每次更正都显示为“名称自动更正日志”表中的一条记录。
-