Аналізує список виразів і повертає значення Variant або вираз, пов’язаний із першим істинним виразом у списку (значення True).
Синтаксис
Switch(вираз-1, значення-1 [, вираз-2, значення-2 ] ... [, вираз-n, значення-n ] )
Синтаксис функції Switch має такі аргументи:
| Аргумент | Опис |
|---|---|
| expr | — обов’язковий аргумент. Вираз змінності, який потрібно обчислити. |
| значення | — обов’язковий аргумент. Значення або вираз, які повертаються, якщо відповідний вираз істинний. |
Примітки
Список аргументів функції Switch складається з пар виразів і значень. Вирази обчислюються зліва направо, і повертається значення, пов'язане з першим виразом, якому призначено значення True . Якщо деталі не з'єднано належним чином, виникає помилка під час виконання. Наприклад, якщо вираз-1істинний, Switch повертає значення-1. Якщо вираз-1хибний, але вираз-2істинний, Switch повертає значення-2 тощо.
Switch повертає Null-значення, якщо:
- Жоден із виразів не має значення 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" замінюється на "Перший", "PRO_XYZ2" замінюється на "Два" тощо. |
Приклад 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