使用追加查询将记录添加到表

Access > 查询

 

使用追加查询将记录添加到表

本文说明如何创建和运行追加查询。如果使用来自其他源的数据将新记录添加到现有表,那么使用追加查询。

如果需要更改现有记录集中的数据,如更新某个字段的值,那么可以使用更新查询。如果需要基于选择的一组数据生成新表,或者要将两个表合并成一个新表,那么可以使用生成表查询。有关更新查询或生成表查询的详细信息,或者有关将记录添加到数据库或更改现有数据的常规信息,请参阅“请参阅”部分。

 注释    不可在 Web 浏览器中运行追加查询。如果要在 Web 数据库中运行追加查询,必须先使用 Access 打开 Web 数据库。

本文内容


hrefIcon_ZA10069439 概述

hrefIcon_ZA10069439 创建和运行追加查询

hrefIcon_ZA10069439 防止禁用模式阻止查询


概述

追加查询从一个或多个数据源中选择记录,并将选中的记录复制到现有表。

例如,假设您获得了一个数据库,其中包含存储潜在新客户的表,而您的现有数据库中已经有一个存储同类数据的表。您希望将这些数据存储在一个地方,因此决定将该表从新数据库复制到现有表。为避免手动输入新数据,可以使用追加查询来复制记录。

使用追加查询的好处

通过使用查询来复制数据,您可以:

一次追加多条记录  如果手动复制数据,那么必须执行多次复制/粘贴操作。如果使用查询,只需一次选择所有数据,然后复制即可。
复制之前检查选择的数据  复制数据之前,可以在“数据表”视图中查看选择的内容,并根据需要进行调整。如果查询包含条件或表达式,并且需要多次尝试才能使之正确,那么这可能尤其有用。您无法撤消追加查询。如果您操作有误,那么必须从备份还原数据库,或者纠正错误,可以手动纠正,也可以使用删除查询。
使用条件细化选择  例如,您可能希望只追加与您同城的客户的记录。
当数据源中的某些字段在目标表中不存在时追加记录   例如,假设现有客户表有 11 个字段,要作为复制源的新表只有这 11 个字段中的 9 个。可以使用追加查询从匹配的 9 个字段中复制数据,而将其他两个字段留空。

追加查询的基本步骤

创建追加查询的过程的基本步骤如下:

创建选择查询  先选择要复制的数据。可根据需要调整选择查询,然后根据需要运行任意次查询,以确保确实选择了您要复制的数据。
将选择查询转换为追加查询  完成选择后,将查询类型更改为“追加”
为追加查询中的每一列选择目标字段  某些情况下,Access 自动选择目标字段。可以调整这些目标字段,如果 Access 未选择,那么您可以自己选择。
预览并运行查询以追加记录  追加记录前,可以切换到“数据表”视图,预览追加的记录。

要点  您无法撤消追加查询。请考虑备份数据库或目标表。

TopPageIcon_CLV 返回页首

创建和运行追加查询

本节内容


hrefIcon_ZA10069439 步骤 1:创建查询以选择要复制的记录

hrefIcon_ZA10069439 步骤 2:将选择查询转换为追加查询

hrefIcon_ZA10069439 步骤 3:选择目标字段

hrefIcon_ZA10069439 步骤 4:预览并运行追加查询


步骤 1:创建查询以选择要复制的记录

1.打开包含要复制的记录的数据库。
2.“创建”选项卡上的“宏和代码”组中,单击“查询设计”

 注释    如果正在使用 Web 数据库,请在“宏与代码”组中,单击“客户端对象”,然后单击“查询设计”

将打开查询设计器,并显示“显示表”对话框。

3.双击包含要复制的记录的表或查询,然后单击“关闭”

这些表或查询将作为一个或多个窗口在查询设计器中出现。每个窗口列出了表或查询中的字段。下图显示了查询设计器中的典型表。

查询设计器中的表

标注 1 查询设计器中显示的资产表

标注 2 “查询”设计网格

4.双击要追加的每个字段。所选字段出现在查询设计网格的“字段”行中。

源表中字段的数据类型必须与目标表中字段的数据类型兼容。文本字段与大多数其他类型的字段兼容。数字字段只与其他数字字段兼容。例如,可以将数字追加到文本字段,但是不可将文本追加到数字字段。

还可以使用表达式作为字段,例如使用 =Date() 自动返回当天日期;也可以在设计网格中,结合表或查询字段来使用表达式,以自定义您选择的数据。例如,如果目标表有一个字段存储 4 位数年份,而源表有一个常规日期/时间字段,那么可以使用以源字段为参数的 DatePart 函数来只选择年份。

若要快速添加表中的所有字段,请双击表字段列表顶部的星号(“*”)。该图显示添加了所有字段的设计网格。

添加了所有表字段的查询

5.也可以在设计网格的“条件”行中输入一个或多个条件。下表显示一些示例条件,并解释它们作用于查询的效果。

条件

效果

> 234

返回所有大于 234 的数字。若要查找所有小于 234 的数字,请使用 < 234。

>= "Callahan"

返回从 Callahan 直至字母表末尾的所有记录。

Between #2/2/2007# And #12/1/2007#

返回 2007 年 2 月 2 日到 2007 年 12 月 1 日之间的日期 (ANSI-89)。如果数据库使用的是 ANSI-92 通配符,则使用单引号 (') 替代井号。例如:Between '2/2/2007' And '12/1/2007'。

Not "德国"

查找字段内容与“德国”不完全相同的所有记录。该条件将返回除了包含“德国”之外还包含其他字符的记录,如“德国(欧元)”或“欧洲(德国)”。

Not "T*"

查找所有记录,以 T 开头的记录除外。如果数据库使用的是 ANSI-92 通配符字符集,则使用百分号 (%) 替代星号 (*)。

Not "*t"

如果数据库使用的是 ANSI-92 通配符字符集,则使用百分号替代星号。

In(加拿大,英国)

在列表中,查找包含“加拿大”或“英国”的所有记录。

Like "[A-D]*"

在文本字段中,查找所有以字母 A 到 D 开头的记录。如果数据库使用的是 ANSI-92 通配符字符集,则使用百分号替代星号。

Like "*ar*"

查找包含字母序列“ar”的所有记录。如果数据库使用的是 ANSI-92 通配符字符集,则使用百分号替代星号。

Like "Maison Dewe?"

查找满足以下条件的所有记录:以“Maison”开头并包含另一个含有 5 个字母的字符串,且该字符串的前 4 字母是“Dewe”而最后的字母未知(用问号指示)。如果数据库使用的是 ANSI-92 通配符字符集,则使用下划线 (_) 替代问号。

#2/2/2007#

查找 2007 年 2 月 2 日的所有记录。如果数据库使用的是 ANSI-92 通配符字符集,则用单引号(而不是井号 #)将日期括起来。例如:'2/2/2007'。

< Date() - 30

返回 30 天以前的所有日期。

Date()

返回包含当天日期的所有记录。

Between Date() And DateAdd("M", 3, Date())

返回从今天起三个月内的所有记录。

Is Null

返回包含 Null(空或未定义)值的所有记录。

Is Not Null

返回包含值的所有记录。

""

返回包含零长度字符串的所有记录。当您需要向必填字段添加值,但还不知道值是什么时,可以使用零长度字符串。例如,某个字段可能需要传真号码,但某些客户可能没有传真机。在这种情况下,可以输入中间不带空格的一对双引号 ("") 来替代数字。

6.“设计”选项卡上的“结果”组中,单击“运行”
7.对返回要复制的记录的查询进行验证。如果需要向查询中添加字段或者从查询中删除字段,请切换回设计视图并按照先前步骤中的说明添加字段,或者选择不需要的字段并按 Delete 将其从查询中删除。

步骤 2:将选择查询转换为追加查询

1.“开始”选项卡上的“视图”组中,单击“视图”,然后单击“设计视图”
2.“设计”选项卡上的“查询类型”组中,单击“追加”

将显示“追加”对话框。

3.接下来指定是将记录追加到当前数据库中的表,还是追加到其他数据库中的表。

请执行下列操作之一:

“追加”对话框中,单击“当前数据库”,从“表名称”组合框中选择目标表,然后单击“确定”

- 或 -

“追加”对话框中,单击“另一数据库”
“文件名”框中,输入目标数据库的位置和名称。
“表名称”组合框中,输入目标表的名称,然后单击“确定”

步骤 3:选择目标字段

选择目标字段的方式取决于您在步骤 1 中如何创建选择查询。

如果您...

Access 将...

添加了源表或源查询中的所有字段

把目标表中的所有字段添加到设计网格中的“追加到”

将个别字段添加到查询或使用了表达式,并且源表和目标表中的字段名匹配

自动把匹配的目标字段添加到查询中的“追加到”

添加了个别字段或使用了表达式,并且源表和目标表中有的名称不匹配

添加匹配的字段,而将不匹配的字段留空

如果 Access 将字段留空,可以单击“追加到”行中的单元格并选择目标字段。

该图说明如何单击“追加到”行中的单元格并选择目标字段。

“追加到”行中的下拉列表

 注释    如果保留目标字段为空,则查询不会将数据追加到该字段。

步骤 4:预览并运行追加查询

1.若要预览所做的更改,请切换到“数据表”视图。

提示  若要快速切换视图,右键单击查询顶部的选项卡,然后单击所要的视图。

2.返回设计视图,然后单击“运行” 按钮图像 追加这些记录。

要点  追加查询的结果不可撤消。

TopPageIcon_CLV 返回页首

防止禁用模式阻止查询

如果您尝试运行追加查询,但好像没有什么反应,请查看 Access 状态栏中是否显示下列消息:

“此操作或事件已被禁用模式阻止。”

若要防止禁用模式阻止查询,必须启用数据库内容。可使用消息栏中的“启用内容”按钮来启用查询。

 注释    启用追加查询时,将同时启用所有其他数据库内容。

有关 Access 安全性的详细信息,请参阅文章 ACCESS 2010 安全性简介

TopPageIcon_CLV 返回页首