Avalia uma lista de expressões e retorna um valor ou uma expressão Variante associada com a primeira expressão da lista que é Verdadeiro.
Sintaxe
Switch( expr-1, value-1 [, expr-2, value-2 ] ... [, expr-n, value-n ] )
A sintaxe da função Switch tem esses argumentos:
Argumento |
Descrição |
expr |
Obrigatório. Expressão variant que você deseja avaliar. |
valor |
Obrigatório. Valor ou expressão a ser retornado se a expressão correspondente for True. |
Comentários
A lista de argumento de funções do Switch consiste em pares de expressões e valores. As expressões são avaliadas da esquerda para a direita e o valor associado à primeira expressão a ser avaliada como True é retornado. Se as partes não estiverem emparelhadas corretamente, ocorrerá uma erro em tempo de execução. Por exemplo, se expr-1 for True, o Switch retornará o valor 1. Se expr-1 for False, mas expr-2 for True, o Switch retornará o valor 2 e assim por diante.
O Switch retornará um valor Nulo se:
-
Nenhuma das expressões é True.
-
A primeira expressão True tem um valor correspondente que é Null.
O Switch avalia todas as expressões, embora retorne apenas uma delas. Por esse motivo, você deve watch para efeitos colaterais indesejáveis. Por exemplo, se a avaliação de qualquer expressão resultar em uma divisão por erro zero, ocorrerá um erro.
Exemplo de consulta
Expressão |
Resultados |
SELECT ProductSales.ProductID, Switch([ProductID]="PRO_XYZ1","First",[ProductID]="PRO_XYZ2","Two",[ProductID]="PRO_XYZ1","Ten") AS testSwitch FROM ProductSales; |
Retorna o "ProductID", avalia as expressões na fórmula "Alternar" e alterna os valores existentes com valores definidos para todas as expressões "True". Por exemplo: "PRO_XYZ1" é substituído por "First", "PRO_XYZ2" é substituído por "Dois" e assim por diante. |
Exemplo de VBA
Observação: Exemplos a seguir demonstram o uso dessa função em um módulo VBA (Visual Basic for Applications). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência do Desenvolvedor na lista suspensa ao lado de Pesquisar e insira um ou mais termos na caixa de pesquisa.
Este exemplo usa a função Switch para retornar o nome de um idioma que corresponde ao nome de uma cidade.
Function MatchUp (CityName As String)
Matchup = Switch(CityName = "London", "English", _ CityName = "Rome", "Italian", _ CityName = "Paris", "French") End Function