Vyhodnotí seznam výrazů a vrátí hodnotu nebo výraz typu Variant přidružený k prvnímu výrazu v seznamu, který má hodnotu True.
Syntaxe
Switch( výraz-1; hodnota-1 [; výraz-2; hodnota-2 ] ... [, výraz-n, hodnota-n ] )
Syntaxe funkce Switch obsahuje následující argumenty:
Argument |
Popis |
výraz |
Povinný argument. Výraz s variantou, který chcete vyhodnotit. |
Hodnota |
Povinný argument. Hodnota nebo výraz, který se má vrátit, pokud má odpovídající výraz hodnotu True. |
Poznámky
Funkce SwitchArgument seznamu obsahuje dvojice výrazů a hodnot. Výrazy se vyhodnocují zleva doprava a vrátí se hodnota spojená s prvním výrazem, který se má vyhodnotit jako Pravda. Pokud nejsou části správně spárované, objeví se Chyba za běhu. Pokud má například výraz-1 hodnotu Pravda,vrátí funkce Switchhodnotu-1. Pokud má výraz-1 hodnotu False,ale výraz-2 má hodnotu True,vrátí funkce Switch hodnotu hodnota-2atd.
Přepínač vrátí hodnotu Null v případě, že:
-
Žádný z výrazů nemá hodnotu True.
-
První pravdivý výraz má odpovídající hodnotu, která je Null.
Přepínač vyhodnocuje všechny výrazy, i když vrací jenom jeden z nich. Z tohoto důvodu je třeba dávat pozor na nežádoucí vedlejší účinky. Pokud je výsledkem vyhodnocení výrazu chyba dělení nulou, dojde k chybě.
Příklad dotazu
Výraz |
Výsledky |
SELECT ProductSales.ProductID, Switch([ID_produktu]="PRO_XYZ1","First",[ID_produktu]="PRO_XYZ2","Dva",[ID_produktu]="PRO_XYZ1","Ten") AS test Z Prodej_produktu; |
Vrátí "ID_produktu", vyhodnotí výrazy ve vzorci Switch a přepne existující hodnoty s definovanými hodnotami pro všechny pravdivé výrazy. Například: "PRO_XYZ1" je nahrazeno "První", "PRO_XYZ2" je nahrazeno dvěma a tak dál. |
Příklad jazyka VBA
Poznámka: Následující příklady ukazují použití této funkce v modulu VBA (Visual Basic pro Applications). Pokud chcete další informace o práci s modulem VBA, vyberte Referenční informace pro vývojáře, které najdete v rozevíracím seznamu vedle položky Hledat a do vyhledávacího pole napište požadované pojmy.
V tomto příkladu se funkce Switch použije k vrácení názvu jazyka, který odpovídá názvu města.
Function MatchUp (CityName As String)
Matchup = Switch(CityName = "London", "English", _
CityName = "Rome", "Italian", _
CityName = "Paris", "French")
End Function