对表达式列表求值,并返回一个 Variant 类型的值或与列表中第一个为 True 的表达式相关联的表达式。
语法
Switch ( expr-1, value-1 [, expr-2, value-2 ] ... [, expr-n, value-n ])
Switch函数语法具有以下参数:
参数 |
说明 |
expr |
必需。 要计算到的变体表达式。 |
value |
必需。 如果相应的表达式为 True,则返回的值或表达式。 |
备注
Switch函数 参数 列表由表达式和值对组成。 表达式从左到右求值,并返回与计算结果为 True 的第一个表达式关联的值。 如果部件未正确配对,则会发生 运行时错误 错误。 例如,如果expr-1为True,则 Switch返回值-1。 如果expr-1为 False,但expr-2为True,则 Switch返回值-2,以此类比。
如果 :
-
没有任何表达式为True。
-
第一个 True表达式具有一个对应的值为Null。
Switch 计算所有表达式,即使它仅返回其中一个表达式。 因此,应留意不良副作用。 例如,如果计算任何表达式导致除零错误,则发生错误。
查询示例
表达式 |
结果 |
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 示例
注意: 以下示例演示了在 VBA Visual Basic for Applications (模块) 函数。 有关使用 VBA 的信息,请在"搜索"旁边的下拉列表中选择"开发人员参考",在搜索框中输入一个或多个术语。
此示例使用 Switch 函数返回与城市名称匹配的语言的名称。
Function MatchUp (CityName As String)
Matchup = Switch(CityName = "London", "English", _
CityName = "Rome", "Italian", _
CityName = "Paris", "French")
End Function