从数据库中删除一项或多项记录

删除不准确或过时的数据可使 Access 数据库用起来更加方便快捷。例如,如果将数据从上一日历季度或财政季度移动到另一个数据库中的一组存档表中,就可以减小工作数据库,帮助其更快运行。如果删除不准确或重复的数据,可以降低业务成本。

本文介绍如何从 Access 数据库中删除数据。还介绍了如何从单个字段删除数据以及如何删除整个记录;前一过程相对简单,后一过程可能要复杂得多。

注意: 若要理解和使用本文中的信息,必须首先了解主键和外键的概念。有关主键和外键的介绍信息,请参阅数据库设计基础一文。

本文内容

关于删除数据

删除字段中的数据

删除列表中的数据

从数据库中删除不相关记录

使用删除查询从数据库中删除相关记录

关于删除数据

Access 提供了几种类型或级别的数据删除。可从记录中的各个数据点删除数据、从表中删除整个记录,也可删除整个表。

当需要将记录中的某些或全部数据点设为空白但仍将该记录本身(行)留在表中时,请删除单个值。删除数据值相对简单 - 在字段中选择部分或全部数据,然后按 DELETE 即可。

删除整个记录时,将删除每个字段中的所有数据以及使记录唯一的键值。此过程会从表中删除整行。可手动删除单个记录,也可创建删除查询以便一次性删除大量记录。

如果要删除的记录与数据库中的任何其他数据都不相关,则删除过程相当简单。可选择整行并按 DELETE,也可创建并运行删除查询。但是,如果要删除的记录与其他数据相关,并且它们位于一对多关系中的“一”侧,则必须执行一些额外步骤 - 因为默认情况下,Access 不允许删除相关数据。此外,请记住,删除整个记录后,将无法撤消该删除。因此,删除数据前一定要备份数据库。

删除整个表不像从字段中删除数据或删除整个记录那样复杂,但请记住,当删除整个表时,如果删除不当,则可能破坏某些(可能是所有)数据库的功能。此外,删除表将永久删除其中所有数据。因此,删除表前一定要备份数据库。

最后,如果理解关系数据库设计,就可更快、更准确地删除数据。如果刚刚接触 Access 或一般的关系数据库,请参阅数据库设计基础

以下各节中的过程将介绍如何从单个字段删除数据、如何删除整个记录以及如何删除整个表。每节都提供有完成给定任务所需的背景信息。

删除字段中的数据

在数据表视图 按钮图像 中打开表或查询时,在表视图 按钮图像 和布局视图 按钮图像 中打开数据输入窗体时,可以删除单个字段中的数据。

从数据表中删除数据

  1. 在导航窗格中,双击要使用的表或查询。这将在数据表视图中打开表或查询。

  2. 选择要删除的数据。

    可以突出显示部分或全部数据,或者仅将光标放在字段中。

  3. 如果选择删除该字段中的所有数据,请按 DELETE。

    -或-

    在“开始”选项卡上的“记录”组中,单击“删除”。

    -或-

    如果将光标放在字段中,请根据需要按 DELETE 或 BACKSPACE。

删除窗体中的数据

  1. 在导航窗格中,双击要使用的窗体。这将在窗体视图中打开窗体。

    -或-

    在导航窗格中选择要使用的窗体,然后在“开始”选项卡的“视图”组中单击“视图”,然后单击“布局视图”。

  2. 选择要删除的数据。

    可以突出显示部分或全部数据,或者仅将光标放在字段中。

  3. 如果选择删除该字段中的所有数据,请按 DELETE。

    -或-

    在“开始”选项卡上的“记录”组中,单击“删除”。

    -或-

    如果将光标放在字段中,请根据需要按 DELETE 或 BACKSPACE。

    注释: Access 可能会显示错误消息,并阻止删除数据。多种因素可能会阻止删除:

    • 根据设计,不能由某些类型的查询删除数据    例如,无法编辑交叉表查询返回的数据,并且无法编辑或删除计算字段(公式在你使用数据库时计算的不驻留在表中的值)。如果窗体基于不能删除数据的查询,则无法从窗体中删除数据。

    • 你没有删除数据所需的权限    请与系统管理员或数据库设计人员联系。

    • 该字段不接受空白或 null 值    如果你拥有所需权限,请在设计视图中打开该表,然后将“必需”表属性从“”更改为“”。

    • 尝试删除列表中的信息    在窗体的数据表中,可随时找到列表,因为 Access 会在一端放置向下箭头,如下所示: 空白查阅列表 。有关删除列表中的值的信息,请参阅本文的下一节。

返回页首

删除列表中的数据

可从两种类型的列表中删除数据:值列表和查阅列表。值列表显示一组预定义的值(你或数据库设计人员手动输入的值)。相反,查阅列表使用查询从另一个表或另一个查询检索值,这些返回值随后填充列表。

值列表中的项目与记录中其他值位于位于相同的表中。相反,查阅列表中的数据位于其他一个或多个表中。若要从值列表中删除数据,请打开表并编辑项目。

从查阅列表中删除数据需要额外的步骤,这些步骤取决于查阅列表的查询是从表还是从其他查询获取其数据。如果查阅列表的查询基于表,请确定该表和包含列表中所显示数据的字段。然后打开源表并编辑该字段中的数据。

如果查阅列表的查询基于另一个查询,那么必须打开该第二个查询,找到第二个查询获取其数据的源表和字段,并更改该表中的值。

以下过程介绍如何在值列表和查阅列表中删除数据。

从值列表中删除数据

  1. 在导航窗格中,右键单击要更改的表,然后单击快捷菜单上的“设计视图”

  2. 在设计网格的上半部分,选择包含值列表的表字段。

  3. 在网格的下半部分,单击“查阅”选项卡,然后找到“行来源”属性。

    默认情况下,值列表中的项目用双引号括起,用分号分隔每个项目:"Excellent";"Fair";"Average";"Poor"

  4. 根据需要,从列表中删除项目。请记得删除每个已删除项目两侧的引号。另外,不要保留前导分号,不要将分号堆叠在一起 (;;),如果删除列表中的最后一个项目,请删除最后一个分号。

    注意: 如果从值列表中删除一个项目,并且表中的记录使用了该已删除的项目,那么删除的项目将保留在记录中,直到对其进行更改。例如,假设你的公司在 A 市有一个仓库,然后出售了该建筑物。如果从仓库列表中删除“A 市”,你会在表中看到“A 市”,直到更改这些值。

从查阅列表中删除数据

  1. 在导航窗格中,右键单击要更改的表,然后单击快捷菜单上的“设计视图”

  2. 在设计网格的上半部分中,选择查阅字段。

  3. 在设计网格的下半部分中,单击“查阅”选项卡,找到“行来源类型”和“行来源”属性。

    行类型”属性应显示“表/查询”,“行来源”属性必须包含引用表或其他查询的查询。

    注意: 查阅字段的查询始终以“SELECT”开头。

    通常(但不总是),选择查询使用这种基本语法:SELECT [table_or_query_name].[field_name] FROM [table_or_query_name].

    在这种情况下,查询包含两个子句(SELECT 和 FROM)。第一个子句引用一个表和该表中的一个字段;相反,第二个子句仅引用表。有一点需要记住:FROM 子句总包含源表或查询的名称。SELECT 子句总包含至少一个字段的名称,但不一定包含表或查询的名称。但是,所有 FROM 子句都必须引用表或查询。

  4. 执行下列操作之一:

    • 如果查阅字段中的查询引用其他查询,请单击属性表的“生成”按钮(在“数据”选项卡上,单击旁边的 “生成器”按钮 ),在设计视图中打开查询。请记下查询设计器上半部分显示的表的名称,然后继续执行步骤 5。

    • 如果查阅字段中的查询引用表,请记下表的名称,然后继续执行步骤 5。

  5. 在导航窗格中,双击源表以在数据表视图中打开它。

  6. 找到包含查阅列表中所用数据的字段,然后根据需要编辑该数据。

返回页首

从数据库中删除不相关记录

从数据库中删除整个记录时,将删除每个字段中的数据,并且还会删除键值(使记录唯一的值)。如果记录与其他任何记录均不相关(即如果键值不在数据库中的任何其他记录或表中),可通过选中该记录并按 DELETE 来删除它。如果要删除由于过多而不适合手动删除的不相关记录,可以使用删除查询来删除它们。以下几节中的步骤介绍如何执行这两个任务。

手动删除不相关记录

  1. 在数据表视图中,打开包含要删除的数据的表或查询。

  2. 找到要删除的记录(行),然后单击“全选”按钮 - 位于记录左侧或右侧的正方形。可选择单个行,或单击并拖动以选择一组连续的行,或者按 CTRL 并单击鼠标按钮选择多个不连续的行。

    Access 会在整个记录(整个行)或所选记录的块周围设置边框。

  3. 按 Delete。

    -或-

    在“开始”选项卡上的“记录”组中,单击“删除”。

    -或-

    右键单击“全选”按钮,然后单击“删除记录”。

    如果无法单击“全选”按钮,请将光标放在记录中的一个字段中。然后,在“开始”选项卡上的“记录”组中,单击“删除”旁边的向下箭头,然后单击“删除记录”。

    注意: 此时,Access 可能会显示一条错误消息,表示无法删除该记录,因为它与其他数据相关。如果看到这样的消息,请单击“确定”,然后转到本文后面的使用删除查询从数据库中删除相关记录

  4. 当 Access 提示你确认是否要删除时,请单击“”。

使用删除查询删除不相关记录

使用删除查询删除数据时,对不相关记录和相关记录执行相同的步骤 - 首先创建选择查询,然后确保它仅返回要删除的记录,最后将选择查询转换为删除查询。下一节中的背景信息和步骤将介绍如何删除不相关记录。

使用删除查询从数据库中删除相关记录

删除相关记录的过程遵循这些常规步骤。

  • 计划删除。请确保你拥有删除数据所需的权限,并确保其他用户都已关闭使用相关表的任何对象,然后备份数据库。

  • 更改删除所涉及的表之间的关系。具体来说,请启用“引用完整性”和“级联删除相关记录”选项。这将允许逐级删除相关表,从而删除所有相关数据。

  • 创建选择查询,然后根据需要添加条件,直到查询返回正确的一组记录。

  • 将选择查询转换为删除查询,然后使用它删除数据。

有关此过程的完整说明,请参阅创建和运行删除查询

返回页首

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×