Devolve uma de duas partes, dependendo da avaliação de uma expressão.
Pode utilizar ISe em qualquer lugar onde possa utilizar expressões. Utilize ISe para determinar se outra expressão é verdadeira ou falsa. Se a expressão for verdadeira, ISe devolve um valor; se for falso, ISe devolve outro. Especifique os valores devolvidos por ISe .
Sintaxe
ISe ( expr , parteverdadeira , partefalsa )
A sintaxe da função ISe tem os seguintes argumentos:
|
Argumento |
Descrição |
|---|---|
|
expr |
Obrigatório. Expressão que pretende avaliar. |
|
parteverdadeira |
Obrigatório. Valor ou expressão devolvida se expr for Verdadeiro. |
|
partefalsa |
Obrigatório. Valor ou expressão devolvida se expr for Falso. |
Observações
ISe avalia sempre a parteverdadeira e a partefalsa, apesar de devolver apenas uma destas. Por esta razão, deverá ter em atenção os efeitos secundários indesejáveis. Por exemplo, se avaliar a partefalsa resulta num erro de divisão por zero, ocorre um erro mesmo se expr seja Verdadeiro.
Exemplos
Utilizar ISe num formulário ou relatório Suponha que tem uma tabela Clientes que contém um campo denominado PaísRegião. Num formulário, quer assinalar se a língua materna do contacto é o italiano. Pode adicionar um controlo e utilizar ISe na respetiva propriedade da Origem do Controlo, da seguinte forma:
=ISe([PaísRegião]="Itália", "Italiano", "Outro idioma")
Quando abre o formulário na vista Formulário, o controlo apresenta "Italiano" sempre que o valor de PaísRegião é Itália, e "Outro idioma" sempre que PaísRegião for outro valor.
Utilizar ISe em expressões complexas Pode utilizar qualquer expressão como parte de uma instrução ISe . Também pode aninhar expressões ISe, o que o permite avaliar uma série de expressões dependentes. Para continuar com o exemplo anterior, recomendamos que teste vários valores de PaísRegião e, em seguida, apresente o idioma adequado dependendo do valor existente:
=ISe([PaísRegião]="Itália", "Italiano", ISe([PaísRegião]="França", "Francês", ISe([PaísRegião]="Alemanha", "Alemão", "Outro idioma")))
O texto "Outro idioma" é o argumento partefalsa da função ISe mais recôndita. Visto que cada função aninhada ISe é o argumento partefalsa da função ISe que a contém, o texto "Outro idioma" apenas é devolvido se todas as expressões expr de todas as funções ISe forem avaliadas como Falso.
Outro exemplo: suponha que trabalha numa biblioteca. A base de dados da biblioteca tem um tabela com o nome Requisições, que contém um campo com o nome Data de Devolução, que contém a data do prazo de entrega de um determinado livro. Pode criar um formulário que indique o estado de um item com saída dada num controlo ao utilizar a função ISe na propriedade Origem do Controlo desse controlo, da seguinte forma:
=ISe([Data de Devolução]<Data(),"EM ATRASO",ISe([Data de Devolução]=Data(),"Devolução","Dentro do Prazo"))
Quando abre o formulário na vista Formulário, o controlo mostra "EM ATRASO" se o valor da Data de Devolução for menor que a data atual, "Devolução" se for igual à data atual, e "Dentro do Prazo" caso contrário.
Nota: Para utilizar operadores lógicos como "E" ou "Ou" no argumento expr da função ISe, tem de colocar a expressão lógica na função Aval. Veja os exemplos na tabela seguinte.
Utilize a função ISe numa consulta
A função ISe é frequentemente utilizada para calcular campos em consultas. A sintaxe é a mesma, com a exceção de que, numa consulta, tem de preceder a expressão com um alias do campo e dois pontos (:) em vez de um sinal de igual (=). Para utilizar o exemplo anterior, teria de escrever o seguinte na linha Campo na grelha de estrutura da consulta:
Idioma: ISe([PaísRegião]="Itália", "Italiano", "Outro Idioma")
Neste caso, "Idioma:" é o alias do campo.
Para obter mais informações sobre como criar consultas e campos calculados, consulte o artigo Criar uma consulta selecionar simples.
Utilize a função ISe em código VBA
Nota: Os exemplos que se seguem demonstram a utilização desta função num módulo VBA (Visual Basic for Applications). Para obter mais informações sobre trabalhar com o VBA, selecione Referência para Programadores na lista pendente junto a Procurar e introduza um ou mais termos na caixa de pesquisa.
Este exemplo utiliza a função ISe para avaliar o parâmetro TestMe do procedimento CheckIt e devolve a palavra "Large" se o montante for maior que 1000. Caso contrário, devolve a palavra "Small".
Function CheckIt (TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Large", "Small")
End Function
Mais exemplos
-
Expressão: =IIf([AirportCode]="ORD","Chicago",IIf([AirportCode]="ATL","Atlanta",IIf([AirportCode]="SEA","Seattle","Outro")))Resultado: Se [AirportCode] for "ORD", devolve "Chicago". Caso contrário, se o [CódigoAeroporto] for "ATL", devolve "Atlanta". Caso contrário, se o [CódigoAeroporto] for "SEA", devolve "Seattle". Caso contrário, devolve "Outro".
-
Expressão: =ISe([DataDeEnvio]<Data(),"Enviado",ISe([DataDeEnvio]=Data(),"Envio hoje","Não Tapado"))Resultado: Se [DataDeEnvio] for anterior à data de hoje, devolva "Enviado". Caso contrário, se [DataEnvio] for igual à data de hoje, devolve "A Enviar". Caso contrário, devolve "Por Enviar."
-
Expressão: =ISe([DataDualização]<#1/1/2008#,"Antigo","Novo")Resultado: Se [PurchaseDate] for anterior a 1/1/2008, devolve "Antigo". Caso contrário, devolve "Novo."
-
Expressão: =ISe(Eval([Volts] Entre 12 e 15 E [amps] Entre 0,25 e 0,3)"OK","Fora da calibragem")Resultado: Se [Volts] estiver entre 12 e 15 e [Amps] estiver entre 0,25 e 0,3, devolve "OK". Caso contrário, devolve "Fora de Calibração."
-
Expressão: =ISe(Eval([PaísRegião] Em ("Canadá","EUA","México")),"América do Norte","Outro")Resultado: Se [PaísRegião] for "Canadá", "EUA" ou "México", devolva "América do Norte". Caso contrário, devolve "Outro".
-
Expressão: =ISe([Média]>=90,"A",ISe([Média]>=80,"B",ISe([Média]>=70,"C",ISe([Média]>=60,"D","F")))))Resultado: Se [Média] for 90 ou superior, devolve "A". Caso contrário, se [Média] é 80 ou maior, devolve "B". Caso contrário, se [Média] é 70 ou maior, devolve "C". Caso contrário, se [Média] é 60 ou maior, devolve "D". Caso contrário, devolve "F".
Nota: Se estiver a utilizar a função ISe para criar um campo calculado numa consulta, substitua o sinal de igual (=) por um alias do campo e dois pontos (:). Por exemplo, Estado: ISe([DataEnvio]<Data(),"Enviado",ISe([DataEnvio]=Data(),"A Enviar","Por Enviar"))