IN 子句 (Microsoft Access SQL)

适用于:Access 2013 | Access 2016

标识 Microsoft Access 数据库引擎可以连接到的任何外部数据库中的表,例如 dBASE 或 Paradox 数据库或外部 Microsoft Access 数据库引擎数据库。

语法

标识目标表

[SELECT |INSERT] INTO destination IN { path |[“ path ” “ type ”] |[“” [ type;DATABASE = path ]]}

标识源表

FROM tableexpression IN { path |[“ path ” “ type ”] |[“” [ type;DATABASE = path ]]}

包含 IN 子句的 SELECT 语句具有以下部分:

Part 说明
目的地 在其中插入数据的外部表的名称。
tableexpression 从中检索数据的表的名称。 该参数可以是单个表名、存储查询或者从 INNER JOINLEFT JOINRIGHT JOIN 产生的组合结果。
path 包含 table 的目录或文件的完整路径。
type 用于创建 table 的数据库类型的名称(如果数据库不是 Microsoft Access 数据库引擎数据库,例如 dBASE III、dBASE IV、Paradox 3.x 或 Paradox 4.x)。

备注

使用 IN 一次仅连接到一个外部数据库。

某些情况下,path 参数引用包含数据库文件的目录。 例如,在使用 dBASE、Microsoft FoxPro 或 Paradox 数据库表时, path 参数指定包含 .dbf 或 .db 文件的目录。 表文件名是从 destinationtableexpression 参数得到的。

若要指定非 Microsoft Access 数据库引擎数据库,请在名称的后追加一个分号 (;),并用单引号 (' ') 或双引号 (" ") 引起来。 例如,'dBASE IV;' 或 "dBASE IV;" 都是可接受的。

还可以使用 DATABASE 保留字来指定外部数据库。 以下的各行指定了相同的表:

…FROM Table IN "" [dBASE IV; DATABASE=C:\DBASE\DATA\SALES;]; 

…FROM Table IN "C:\DBASE\DATA\SALES" "dBASE IV;"

示例

以下示例演示如何使用 IN 子句从外部数据库检索数据。 在每个示例中,都假设外部数据库中存储了一个假想的 Customers 表。

Microsoft Access 数据库引擎数据库

SELECT CustomerID
FROM Customers
IN OtherDB.mdb
WHERE CustomerID Like "A*";

dBASE III 或 IV

若要从 dBASE III 表中检索数据,请用 "dBASE III;" 替代 "dBASE IV;"。

SELECT CustomerID
FROM Customer
IN "C:\DBASE\DATA\SALES" "dBASE IV;"
WHERE CustomerID Like "A*";

使用数据库语法的 dBASE III 或 IV

SELECT CustomerID
FROM Customer
IN "" [dBASE IV; Database=C:\DBASE\DATA\SALES;] 
WHERE CustomerID Like "A*";

Paradox 3.x 或 4.x

若要从 Paradox 版本 3.x 表中检索数据,请用 "Paradox 3.x;" 替代 "Paradox 4.x;"。

SELECT CustomerID
FROM Customer
IN "C:\PARADOX\DATA\SALES" "Paradox 4.x;"
WHERE CustomerID Like "A*";

使用 Database 语法的 Paradox 3.x 或 4.x

SELECT CustomerID
FROM Customer
IN "" [Paradox 4.x;Database=C:\PARADOX\DATA\SALES;] 
WHERE CustomerID Like "A*";

Microsoft Excel 工作表

SELECT CustomerID, CompanyName
FROM [Customers$] 
IN "c:\documents\xldata.xls" "EXCEL 5.0;"
WHERE CustomerID Like "A*"
ORDER BY CustomerID;

工作表中的命名区域

SELECT CustomerID, CompanyName
FROM CustomersRange
IN "c:\documents\xldata.xls" "EXCEL 5.0;"
WHERE CustomerID Like "A*"
ORDER BY CustomerID;

另请参阅

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。