生成表查询
Access中把查询结果转为ACCESS表
2017-08-31 17:42:03

有问到如何将查询转为表的问题?查了Access的文档发现没有关于CREATE TABLE AS 得解释。

在Access中用查询结果转为表可以用SELECT INTO来替代 实现。

创建生成表查询 (生成表查询:一种查询(SQL 语句),它创建一个新表,然后通过从一个现有表中复制记录,在新表中创建记录(行)。)。

语法

SELECT field1[, field2[, ...]] INTO newtable [IN externaldatabase]FROM source

SELECT...INTO 语句包含以下部分:

field1, field2要复制到新表中的字段的名称。

newtable要创建的表的名称。如果 newtable 与现有表同名,则发生可捕获错误。

externaldatabase外部数据库 (外部数据库:要链接或导入到当前数据库的表的源,或要导出的表的目的地。)的路径。

source从中选择记录的现有表的名称。它可以是单个或多个表或查询。

说明

可以使用生成表查询来存档记录,生成表的备份副本,或者将副本导出到其他数据库,或作为某个特定时间段的数据的报表产生基础。例如,可以通过每个月运行相同的生成表查询来生成区域月销售报表。

 注释 

  • 您可能需要定义新表的主键 (主键:具有唯一标识表中每条记录的值的一个或多个域(列)。主键不允许为 Null,并且必须始终具有唯一索引。主键用来将表与其他表中的外键相关联。)。创建表时,新表中的字段会继承查询的基础表中每个字段的数据类型 (数据类型:决定字段可拥有的数据类型的字段特征。数据类型包括 Boolean、Integer、Long、Currency、Single、Double、Date、String 和 Variant(默认)。)和字段大小,但不会传输其他字段或表属性。

  • 若要将数据添加到现有表中,请转而使用 INSERT INTO 语句来创建追加查询 (追加查询:一种动作查询,它将查询结果集内的记录添加到现有表的尾部。)。

  • 若要在运行生成表查询之前确定将要选择哪些记录,请先检查使用相同选择条件的 SELECT 语句所产生的结果。