本文逐步介绍了如何在 Access 中重置“自动编号”字段值。在 Access 中删除某个表中的一些行或所有行时,“自动编号”字段不会自动重置。要重置“自动编号”字段值并刷新引用表中的“自动编号”值,必需手动执行一些任务。
注意:在执行下面的步骤之前必须备份数据库。
重置单个表中的“自动编号”字段
要重置“自动编号”字段值,可以使用方法 1 或方法 2。
方法 1 可以重置“自动编号”字段值,使其与表中的一个字段相对应。为此,请按照下列步骤操作:
- 从主表中删除“自动编号”字段。
记下“自动编号”字段名称。 - 在左窗格中单击“查询”。在右窗格中双击“在设计视图中创建查询”。
- 在“显示表”对话框中,选择主表。单击“添加”,然后单击“关闭”。
- 在主表的表视图中双击所需字段,以选择该字段。
- 选择需要的“排序”顺序。
- 在“查询”菜单中,单击“生成表查询”。在“表名称”文本框中键入新的表名称,然后单击“确定”。
- 在“查询”菜单上,单击“运行”。
- 将显示带有以下文本的对话框:“您正准备向新表粘贴 # 行。”单击“是”以插入行。
- 在“文件”菜单上,单击“关闭”。单击“否”关闭“生成表查询”窗口。
- 在左窗格中单击“表”。右键单击新表,然后单击“设计视图”。
- 在表的“设计”视图中,添加与步骤 1 中删除的字段名称相同的“自动编号”字段。将此“自动编号”字段添加到新表中,然后保存该表。
- 关闭“设计”视图窗口。
- 重命名主表。将新表名称重命名为主表名称。
方法 2也可以使用方法 2 来重置“自动编号”字段值,请按照下列步骤操作:
- 从主表中删除“自动编号”字段。
记下“自动编号”字段名称。 - 复制主表的结构,然后创建新表。
- 在左窗格中单击“查询”。在右窗格中单击“在设计视图中创建查询”。
- 在“显示表”对话框中,选择主表。单击“添加”,然后单击“关闭”。
- 要选择字段,请双击需要的字段。在主表的“表”视图中对除了“自动编号”字段外的所有字段进行此操作。
- 在“查询”菜单上,单击“追加查询”。
这将更改查询类型。 - 从“表名称”列表中,选择您在步骤 1 中创建的新表。单击“确定”。
- 在“查询”菜单上,单击“运行”。
- 将显示带有以下文本的对话框:“您正准备追加 # 行。”单击“是”将行追加到新表中。
- 在“文件”菜单上,单击“关闭”。单击“否”关闭“追加查询”窗口。
- 在左窗格中单击“表”。右键单击新表,然后单击“设计视图”。
- 在表的“设计”视图中,添加与步骤 1 中删除的字段名称相同的“自动编号”字段。将此“自动编号”字段添加到新表中,然后保存该表。
- 关闭“设计”视图窗口。
- 重命名主表。将新表名称重命名为主表名称。
重置带引用表的表中的“自动编号”字段
下面的步骤说明如何为具有引用表的表重置“自动编号”字段。如果有多个引用表,则必须对每个引用表执行下列步骤。
- 删除表之间的关系。
- 将主表的“自动编号”字段设为数字数据类型。删除主键。
- 在主表中创建数据类型为“自动编号”的新字段。保存该表。
- 在引用表中创建数据类型为数字的新字段。保存该表。
- 要创建更新查询,以将引用表中的新字段更新为主表中的新“自动编号”字段,请按照下列步骤操作:
- 在左窗格中单击“查询”。在右窗格中单击“在设计视图中创建查询”。
这将创建新查询。 - 在“显示表”对话框中,选择主表和引用表。单击“添加”来添加主表和引用表。单击“关闭”。
- 单击主表中以前链接到引用表的字段。使用拖放功能将该字段放到引用表中以前链接的字段上。
这样将在这两个表之间创建基于原始链接字段的联接。
- 在“查询”菜单上,单击“更新查询”。
- 双击引用表中的新字段,将其添加到字段列表中。
- 在“更新到”字段中,键入 [主表名].[新自动编号字段],以更新引用表中的新字段值。
- 在“查询”菜单上,单击“运行”。
- 将显示带有以下文本的对话框:“您正准备更新 # 行。”单击“是”将行追加到新表中。
- 在“文件”菜单上,单击“关闭”。单击“否”关闭“更新查询”窗口。
- 从主表和引用表中删除原始链接字段。
- 将新“自动编号”字段重命名为原始名称。
- 重新创建主键以及表之间的关系。
此过程重置“自动编号”字段,然后用正确的键值更新引用表。
如果压缩数据库,也可以重置“自动编号”字段。但是,对于 Access 2002 或更高版本,可能总是无法成功执行此操作。如果使用 Access 2000 和 Microsoft Jet 数据库引擎的 Jet 4.0 版压缩数据库,则成功的机会更大。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
287756?
(http://support.microsoft.com/kb/287756/
)
错误:压缩 Access 数据库后“自动编号”字段未重置
有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
209696?
(http://support.microsoft.com/kb/209696/
)
ACC2000:如何使用追加查询设置“自动编号”字段的初始值
94821?
(http://support.microsoft.com/kb/94821/
)
ACC:使用追加查询设置“自动编号”字段的初始值
202121?
(http://support.microsoft.com/kb/202121/
)
ACC2000:无法在用户界面中更改默认种子和增量值