Оценява списък с изрази и връща стойност от тип Variant или израз, свързани с първия израз в списъка, който е True.
Синтаксис
Switch( израз-1, стойност-1 [, израз-2, стойност-2 ] ... [, израз-n, стойност-n ] )
Синтаксисът на функцията Switch има следните аргументи:
Аргумент |
Описание |
expr |
Задължителен. Израз от тип Variant, който искате да оцените. |
стойност |
Задължително. Стойност или израз за връщане, ако съответният израз е True. |
Забележки
Функцията Switchаргумент списъка се състои от двойки изрази и стойности. Изразите се оценяват от ляво надясно и се връща стойността, свързана с първия израз, който трябва да се изчисли като True . Ако частите не са правилно сдвоени, ще възникне грешка по време на изпълнение. Например ако израз-1 е True, Switch връща стойност 1. Ако израз-1 е False, но израз-2 е True, Switch връща стойност-2 и т.н.
Switch връща стойност Null, ако:
-
Никой от изразите не е True.
-
Първият израз True има съответстваща стойност, която е Null.
Превключването оценява всички изрази, въпреки че връща само един от тях. Поради тази причина трябва да внимавате за нежелани странични ефекти. Ако например оценката на някой израз доведе до деление на нула грешка, ще възникне грешка.
Пример за заявка
Израз |
Резултати |
SELECT ProductSales.ProductID, Switch([ProductID]="PRO_XYZ1","First",[ProductID]="PRO_XYZ2","Two",[ProductID]="PRO_XYZ1";"Ten") AS testSwitch FROM ProductSales; |
Връща "ProductID", оценява изразите във формулата "Превключване" и превключва съществуващите стойности с дефинирани стойности за всички изрази "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