Função IIf

Importante :  Este artigo foi traduzido por um sistema de tradução automática, leia o aviso de isenção de responsabilidade. Para sua referência, veja a versão em inglês deste artigo aqui.

Retorna uma de duas partes, dependendo da avaliação de uma expressão.

Você pode usar IIf em qualquer lugar em que pode usar expressões. Você usa IIf para determinar se outra expressão é verdadeira ou falsa. Se a expressão for verdadeira, IIf retorna um valor; se for falsa, IIf retorna outro. Você especifica os valores que IIf retorna.

Veja alguns exemplos

Sintaxe

IIf ( expr , parteverdadeira , partefalsa )

A sintaxe da função IIf tem os seguintes argumentos:

Argumento

Descrição

expr

Obrigatório. Expressão que você quer avaliar.

parteverdadeira

Obrigatório. O valor ou a expressão retornada se expr for True.

partefalsa

Obrigatório. O valor ou a expressão retornada se expr for False.


Comentários

IIf sempre avalia parteverdadeira e partefalsa, mesmo que retorne apenas uma delas. Por isso, você deve prestar verificar se há efeitos colaterais indesejáveis. Por exemplo, se a avaliação de partefalsa resultar em um erro de divisão por zero, um erro ocorrerá mesmo que expr seja True.

Exemplos

Use IIf em um formulário ou relatório    Suponha que você tenha uma tabela de clientes que contém um campo chamado Paísregião. Em um formulário, você deseja indique se italiano é o primeiro idioma do contato. Você pode adicionar um controle e use IIf em sua propriedade Fonte do controle , assim:

=IIf([PaísRegião]="Itália", "Italiano", "Outro idioma")

Quando você abrir o formulário no Modo de exibição de formulário, o controle exibirá "Italiano" sempre que o valor de PaísRegião for Itália, e "Outro idioma" sempre que PaísRegião for qualquer outro valor.

Use IIf em expressões complexas    Você pode usar qualquer expressão como qualquer parte de uma instrução IIf . Você também pode "aninhar" IIf expressões, que permite avaliar uma série de expressões dependentes. Para continuar com o exemplo anterior, talvez você queira testar diversos valores diferentes de país/região e exiba o idioma apropriado, dependendo de qual valor existe:

=IIf([PaísRegião]="Itália", "Italiano", IIf([PaísRegião]="França", "Francês", IIf([PaísRegião]="Alemanha", "Alemão", "Outro idioma")))

O texto "Outro idioma" é o argumento partefalsa da função IIf interna. Como cada função IIf aninhada é o argumento partefalsa da função IIf que a contém, o texto "Outro idioma" só será retornado se todos os argumentos expr de todas as funções IIf forem avaliados como Falso.

Para analisar outro exemplo, suponha que você trabalhe em uma biblioteca. O banco de dados da biblioteca tem uma tabela chamada Check-outs que contém um campo Data de Conclusão, com a data em que um livro específico deve ser devolvido. Você pode criar um formulário que indique o status de um item submetido a check-out em um controle usando a função IIf na propriedade Fonte do Controle do controle, da seguinte forma:

=IIf([Data de Conclusão]<Date(),"VENCIDO",IIf([Data de Conclusão]=Date(),"Conclusão prevista para hoje","Ainda não vencido"))

Quando você abrir o formulário no Modo de exibição de formulário, o controle exibirá "VENCIDO" se o valor da Data de Conclusão for menor do que a data atual, "Conclusão prevista para hoje" se o valor for igual à data atual e "Ainda não vencido", caso contrário.

Observação : Usar operadores lógicos, como "E" ou "Ou" no argumento expr da função IIf , você deve colocar a expressão lógica no função Eval . Consulte a tabela de exemplo a seguir.

Use IIf em uma consulta   

A função IIf frequentemente é usada para criar campos calculados em consultas. A sintaxe é a mesma, com exceção de que, em uma consulta, você deve preceda a expressão com um alias de campo e dois-pontos (:) em vez de um sinal de igual (=). Para usar o exemplo anterior, você digitaria o seguinte na linha campo da grade de design da consulta:

Idioma: IIf([PaísRegião]="Itália", "Italiano", "Outro idioma")

Nesse caso, "Idioma:" é o alias do campo.

Para obter mais informações sobre a criação de consultas e campos calculados, consulte o artigo Selecionar dados usando uma consulta.

Use IIf em código VBA   

Observação : Exemplos a seguir demonstram o uso dessa função em um Visual Basic para módulo Applications (VBA). Para obter mais informações sobre como trabalhar com o VBA, selecione a Referência do desenvolvedor na lista suspensa ao lado de pesquisa e insira um ou mais termos na caixa de pesquisa.

Este exemplo usa a função IIf para avaliar o parâmetro TestMe do procedimento CheckIt e retorna a palavra "Grande" se o valor for maior que 1000, caso contrário, retorna a palavra "Pequeno".

Function CheckIt (TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Large", "Small")
End Function

Mais exemplos

Expressão

Resultados

=IIf([CódigoAeroporto]="ORD","Chicago",IIf([CódigoAeroporto]="ATL","Atlanta",IIf([CódigoAeroporto]="SEA","Seattle","Outro")))

Se [CódigoAeroporto] for "ORD", retornar "Chicago". Caso contrário, se [CódigoAeroporto] for "ATL", retornar "Atlanta". Caso contrário, se [CódigoAeroporto] for "SEA", retornar "Seattle". Caso contrário, retornar "Outro".

=IIf([DatadeRemessa]<Date(),"Remetido",IIf([DatadeRemessa]=Date(),"Remessa hoje","Não remetido"))

Se [DatadeRemessa] for anterior à data de hoje, retornar "Remetido". Caso contrário, se [DatadeRemessa] for igual à data de hoje, retornar "Remessa hoje". Caso contrário, retornar "Não remetido".

=IIf([DatadeCompra]<#1/1/2008#,"Antiga","Nova")

Se [DatadeCompra] for anterior a 1/1/2008, retornar "Antigo". Caso contrário, retornar "Nova".

=IIf(Eval([Volts] entre 12 e 15 e [Amps] entre 0,25 e 0,3),"OK","Descalibrado")

Se [Volts] estiver entre 12 e 15 e [Amps] estiver entre 0,25 e 0,3, retornar "OK". Caso contrário, retornar "Descalibrado".

=IIf(Eval([PaísRegião] In ("Canadá","EUA","México")),"América do Norte","Outro")

Se [PaísRegião] for "Canadá", "EUA" ou "México", retornar "América do Norte". Caso contrário, retornar "Outro".

=IIf([Média]>=90,"A",IIf([Média]>=80,"B",IIf([Média]>=70,"C",IIf([Média]>=60,"D","F"))))

Se [Média] for 90 ou superior, retornar "A". Caso contrário, se [Média] for 80 ou superior, retornar "B". Caso contrário, se [Média] for 70 ou superior, retornar "C". Caso contrário, se [Média] for 60 ou superior, retornar "D". Caso contrário, retornar "F".

Observação : Se você estiver usando a função IIf para criar um campo calculado em uma consulta, substitua o sinal de igual (=) com um alias de campo e dois-pontos (:). Por exemplo, Status: IIf ([ShipDate] < data (), "Fornecido", IIf ([ShipDate] = Data (), "Remessa hoje", "Unshipped"))

Observação : Aviso de Isenção de Tradução Automática: Este artigo foi traduzido por computador, sem intervenção humana. A Microsoft oferece essas traduções automáticas para ajudar as pessoas que não falam inglês a aproveitar os textos escritos sobre produtos, serviços e tecnologias da Microsoft. Como este artigo foi traduzido automaticamente, é possível que contenha erros de vocabulário, sintaxe ou gramática.

Essas informações foram úteis?

Como podemos melhorá-lo?

Como podemos melhorá-lo?

Para proteger sua privacidade, não inclua informações de contato em seus comentários. Avalie nosso política de privacidade.

Obrigado por seus comentários!