使用追加查询将记录添加到表
应用对象
本文介绍如何创建和运行追加查询。 当要使用来自其他源的数据向现有表添加新记录时,需使用追加查询。
如果要对现有记录集中的数据进行更改,例如更新字段的值,可使用更新查询。 如果要从所选数据中创建一个新表,或将两个表合并为一个新表,可使用生成表查询。 有关更新查询或生成表查询的详细信息,或有关将记录添加到数据库或更改现有数据的其他方法的一般信息,请参阅另请参阅部分。
本文内容
概述
追加查询从一个或多个数据源中选择记录,并将所选记录复制到现有表中。
例如,假设你有一个数据库,它包含一个有潜在新客户的表,但你的现有数据库中已有一个存储着类似数据的表。 由于想将这些数据存储在同一位置,因此决定将其从新数据库复制到现有的表中。 为了避免手动输入新数据,可使用追加查询来复制记录。
使用追加查询的优势
通过使用查询来复制数据,可以:
- 在一次传递中追加多个记录 如果手动复制数据,通常必须执行多个复制/粘贴操作。 通过使用查询,可以一次选择所有数据并复制。
- 在复制之前查看所选内容 可以在“数据表”视图中查看所选内容,并且可以在复制数据之前根据需要调整所选内容。 如果查询包含条件或表达式,并且需要多次尝试使其正确运行,则此功能尤其方便。 不能撤消追加查询。 如果操作错误,则必须手动或使用删除查询从备份还原数据库或更正错误。
- 使用条件优化选择 例如,你可能希望仅追加所在城市中的客户的记录。
- 当数据源中的某些字段在目标表中不存在时追加记录 例如,假设现有客户表包含 11 个字段,而要从中复制的新表只有 11 个字段中的 9 个。 可以使用追加查询复制匹配的九个字段中的数据,而将另两个字段留空。
追加查询的基本步骤
创建追加查询的过程遵循以下基本步骤:
- 创建选择查询 首先选择要复制的数据。 可以根据需要调整选择查询,并根据需要多次运行它,以确保选择要复制的数据。
- 将选择查询转换为追加查询 选择准备就绪后,可以将查询类型更改为“追加”。
- 为追加查询中的每个列选择目标字段 在某些情况下,Access 会自动为你选择目标字段。 你可以调整目标字段,或在 Access 没有自动选择的时候自行进行选择。
- 预览并运行查询以追加记录 在追加记录前,可以先切换到数据表视图来预览追加的记录。
重要
无法撤消追加查询。 请考虑备份数据库或目标表。
创建和运行追加查询
本节内容
步骤 1:创建查询以选择要复制的记录
打开包含要复制的记录的数据库。
在“创建”选项卡上的“查询”组中,单击“查询设计”。
双击包含要复制的记录的表或查询,然后单击“关闭”。
表或查询在查询设计器中显示为一个或多个窗口。 每个窗口会列出表或查询中的字段。 下图展示了查询设计器中的一个典型表。
查询设计器中显示的资产表
“查询”设计网格双击要追加的每个字段。 所选字段会出现在查询设计网格的“字段”行中。
源表中字段的数据类型必须与目标表中字段的数据类型兼容。 文本字段与大多数其他类型的字段兼容。 数字字段仅与其他数字字段兼容。 例如,可以将数字追加到文本字段,但不能将文本追加到数字字段。
还可以使用表达式作为字段(如 =Date () )来自动返回今天的日期,并且可以将表达式与设计网格中的表或查询字段一起使用来自定义所选数据。 例如,如果目标表有一个存储四位数年份的字段,而源表有一个常规日期/时间字段,则可以将 DatePart 函数与源字段一起使用,以便仅选择年份。
若要快速添加表中的所有字段,请双击表字段列表顶部的星号 (*)。 下图显示添加了所有字段的设计网格。
或者,可以在设计网格的“条件”行中输入一个或多个条件。 下表显示了一些示例条件,并说明了其作用于查询的效果。
在“ 查询设计 ”选项卡上的“ 结果 ”组中,单击“ 运行
”。验证查询是否返回了要复制的记录。 如果需要向查询中添加字段或者从查询中删除字段,请切换回设计视图并按照上一步中的说明添加字段,或者选择不需要的字段并按 Delete 将其从查询中删除。
步骤 2:将选择查询转换为追加查询
在“开始”选项卡上的“视图”组中,单击“视图”,然后单击“设计视图”。
在“ 查询设计 ”选项卡上的“ 查询类型 ”组中,单击“ 追加”。
将出现“追加”对话框。
接下来,指定是将记录追加到当前数据库中的表,还是追加到其他数据库中的表。
执行下列操作之一:- 在“追加”对话框中,单击“当前数据库”,从“表名称”组合框中选择目标表,然后单击“确定”。
-或- - 在“追加”对话框中,单击“其他数据库”。
- 在“文件名”框中,输入目标数据库的位置和名称。
- 在“表名称”组合框中,输入目标表的名称,然后单击“确定”。
- 在“追加”对话框中,单击“当前数据库”,从“表名称”组合框中选择目标表,然后单击“确定”。
有关用于创建追加查询的 SQL 语法的详细信息,请参阅 INSERT INTO 语句。
步骤 3:选择目标字段
选择目标字段的方式取决于您在步骤 1 中如何创建选择查询。
| 您的操作 | Access... |
|---|---|
| 添加了源表或源查询中的所有字段 | 将目标表中的所有字段添加到设计网格中的“追加到”行中 |
| 将个别字段添加到查询或使用了表达式,并且源表和目标表中的字段名匹配 | 自动将匹配的目标字段添加到查询中的“追加到”行中 |
| 添加了个别字段或使用了表达式,并且源表和目标表中有的名称不匹配 | 添加匹配的字段,而将不匹配的字段留空 |
如果 Access 将字段留空,则可单击“追加到”行中的单元格并选择目标字段。
该图展示了如何单击“追加到”行中的单元格并选择目标字段。
注意
如果保留目标字段为空,则查询不会将数据追加到该字段。
步骤 4:预览并运行追加查询
若要预览所做的更改,请切换到数据表视图。
提示
若要快速切换视图,右键单击查询顶部的选项卡,然后单击所要的视图。
返回到“设计”视图,然后单击“ 运行
以追加记录。注意
在运行返回大量数据的查询时,可能会收到错误消息,指示您将无法撤消查询。 请尝试将内存段限制增加到 3MB 以允许完成查询。
防止禁用模式阻止查询
如果尝试运行某个追加查询,但好像没有什么反应,请查看 Access 状态栏中是否显示以下消息:
“此操作或事件已被禁用模式阻止。”
若要修复此错误,请单击消息栏中的“启用内容”,以启用查询。
注意
启用追加查询时,将同时启用所有其他数据库内容。
如果看不到消息栏,则它可能处于隐藏状态。 只要消息栏未被禁用,就可以显示它。 如果消息栏已被禁用,可以启用它。