| 适用于 |
|---|
| Microsoft Office Access 2003 Microsoft Access 2002 |
如果您的 Access 数据库包含从多个源导入的数据,或者您继承了已经使用多年而且没有得到正确设置的数据库,那么该数据库中可能包含需要清除的重复记录。
要确定 Access 表中是否存在重复记录,可以使用 Access 中的“查找重复项查询向导”;如果您的表包含的重复记录不多,并且您需要先查看记录再决定删除哪些记录,“查找重复项查询向导”可以帮助您清除重复记录。但是,您也可以自动删除重复记录并保留原始记录。
这可能是因为 Access 正运行于沙盒模式,但您的计算机上尚未安装 Microsoft Jet 4.0 SP8 或更高版本。启用沙盒模式后,必须安装有 Jet 4.0 SP8 或更高版本,Access 才能完全发挥作用。
有关安装 Jet 升级的详细信息,请参阅 Office Online 文章关于 Microsoft Jet 4.0 SP8 或更高版本。
有关沙盒模式的详细信息,请参阅 Office Online 文章关于 Microsoft Jet Expression Service 沙盒模式。
运行查询时,包含重复字段的记录(在本例中,就是同一城市的所有记录)按照该重复字段(“城市”)排序,这样就可以比较要检查的任何其他字段(例如“地址”)中的数据。在本例中,重复记录的“地址”字段包含不同的数据(例如 "崇外大街" 和 "崇德门外大街")。
如果您的数据库只包含少量的重复记录,可以选择不需要的个别记录并将其删除。当您删除“地址”字段中不使用缩写的重复记录之后,记录将按如下方式显示。
但是,您不能为了删除重复记录而将“查找重复项”查询转换为删除查询。这是由于“查找重复项”查询返回的是原始记录和该记录的所有副本,方便您选择要删除的版本。因此,如果将“查找重复项”查询转换为删除查询,将会同时删除原始记录和重复记录。但是,如果您不需要选择待删除的版本,则有一种既可以保留原始记录、又能自动删除重复记录的方法。
从表中删除重复记录需要两个步骤。第一步,复制包含重复记录的表的结构,生成包含重复记录的所有字段的主键。第二步,创建并运行从原始表到新表的追加查询。由于主键字段不能包含重复记录,因此这一过程将生成不含重复记录的表。
打开该表查看结果。如果您确定新表的不重复记录是正确的,则可以删除原始表,然后使用原始表的名称重命名新表。