Switch 函数

应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

对表达式列表求值,并返回一个 Variant 类型的值或与列表中第一个为 True 的表达式相关联的表达式。

语法

切换 (expr-1, value-1 [, expr-2, value-2 ] ...[, expr-n, value-n ] )

Switch 函数语法具有以下参数:

参数 说明
expr 必需。 要求值的变量表达式。
value 必需。 如果相应的表达式为 True,则要返回的值或表达式。

备注

Switch 函数参数列表由表达式和值对组成。 从左到右计算表达式,并返回与第一个要计算为 True 的表达式关联的值。 如果部件未正确配对,将出现运行时错误。 例如,如果 expr-1True,则 Switch 返回 值-1。 如果 expr-1False,但 expr-2True,则 交换机 返回 值 2,依此类推。

如果出现以下情况,交换机将返回 Null 值:

  • 没有一个表达式为 True
  • 第一个 True 表达式具有相应的值 Null

Switch 计算所有表达式,即使只返回其中一个表达式。 因此,您应该注意不良副作用。 例如,如果任何表达式的计算结果为除以零的错误,则会出现错误。

查询示例

Expression 结果
SELECT ProductSales.ProductID, Switch ([ProductID]="PRO_XYZ1","First",[ProductID]="PRO_XYZ2","Two",[ProductID]="PRO_XYZ1","Ten") AS testSwitch FROM ProductSales; 返回“ProductID”,计算“Switch”公式中的表达式,并使用所有“True”表达式的定义值切换现有值。 例如:“PRO_XYZ1”被“First”代替,“PRO_XYZ2”被“Two”代替,依此类推。

VBA 示例

注意

下面的示例演示了在Visual Basic for Applications (VBA) 模块中使用此函数。 有关使用 VBA 的详细信息,请在“搜索”旁边的下拉列表中选择“开发人员参考”,然后在搜索框中输入一个或多个术语。

本示例使用 Switch 函数返回与城市名称匹配的语言名称。

Function MatchUp (CityName As String)
    Matchup = Switch(CityName = "London", "English", _
              CityName = "Rome", "Italian", _
              CityName = "Paris", "French")
End Function