In 运算符 (Microsoft Access SQL)

适用于:Access 2013 | Access 2016

确定表达式的值是否等于指定列表中的几个值中的任何一个。

语法

expr [ Not ] in ( value1, value2, ... )

expr [ Not ] in ( SELECT ... )

备注

In 运算符语法包含以下部分:

Part 说明
expr 标识包含要评估数据的字段的表达式。
value1, value2 计算 expr 时要对比的表达式或表达式列表。

如果在值列表中找到 exprIn 运算符返回 True;否则,返回 False。 可以包括 Not 逻辑运算符以便计算相反的条件(即 expr 是否不在值的列表中)。

例如,可以通过 In 来确定哪些订单将发往一组指定的地区:

SELECT * 
FROM Orders 
WHERE ShipRegion In ('Avon','Glos','Som')

还可以使用 In 引用存在于外部数据库文件中的表或查询:

SELECT qryValues 
FROM qryValues In 'c:\files\MyDB.accdb'

示例

下面的示例使用 Northwind.mdb 数据库中的 Orders 表创建一个查询,该查询包括货主城市为 Lancashire 和 Essex 的所有订单及发货日期。

以下示例调用 EnumFields 过程,您可以在 SELECT 语句示例中找到该过程。

Sub InX() 
 
    Dim dbs As Database, rst As Recordset 
 
    ' Modify this line to include the path to Northwind 
    ' on your computer. 
    Set dbs = OpenDatabase("Northwind.mdb") 
 
    ' Select records from the Orders table that 
    ' have a ShipRegion value of Lancashire or Essex. 
    Set rst = dbs.OpenRecordset("SELECT " _ 
        & "CustomerID, ShippedDate FROM Orders " _ 
        & "WHERE ShipRegion In " _ 
        & "('Lancashire','Essex');") 
     
    ' Populate the Recordset. 
    rst.MoveLast 
     
    ' Call EnumFields to print the contents of 
    ' the Recordset. 
    EnumFields rst, 12 
 
    dbs.Close 
 
End Sub

另请参阅

支持和反馈

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