对表达式列表求值,并返回一个 Variant 类型的值或与列表中第一个为 True 的表达式相关联的表达式。
语法
切换 ( expr-1, value-1 [, expr-2, value-2 ] ... [, expr-n, value-n ] )
Switch 函数语法具有以下参数:
参数 |
说明 |
expr |
必需。 要计算的变量表达式。 |
value |
必需。 如果相应的表达式为 True,则返回的值或表达式。 |
备注
Switch 函数 参数 列表由表达式和值对组成。 从左到右计算表达式,并返回与要计算为 True 的第一个表达式关联的值。 如果部件未正确配对,则会发生 运行时错误 。 例如,如果 expr-1 为 True, 则 Switch 返回 value-1。 如果 expr-1 为 False,但 expr-2 为 True, 则 Switch 将返回 value-2,依此类移。
如果 :
-
表达式均不为 True。
-
第一个 True 表达式的对应值为 Null。
Switch 会计算所有表达式,即使它只返回其中一个表达式。 因此,应watch不良副作用。 例如,如果对任何表达式的求值导致除以零误差,则会发生错误。
查询示例
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