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

语法

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

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

参数

说明

expr

必需。 要计算到的变体表达式。

value

必需。 如果相应的表达式为 True,则返回的值或表达式。

备注

Switch函数 参数 列表由表达式和值对组成。 表达式从左到右求值,并返回与计算结果为 True 的第一个表达式关联的值。 如果部件未正确配对,则会发生 运行时错误 错误。 例如,如果expr-1True,则 Switch返回值-1。 如果expr-1为 False,expr-2True,则 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

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Office Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×