EXISTE ALTERNATIVA AO COMANDO IIF?

JALEXM 04/04/2012 10:59:57
#399082
Olá.
Existe alguma alternativa em relação ao comando IIf abaixo?

X = IIf(Text1.Text = [Ô][Ô], Empty, CInt(Text1.Text))

é que ele avalia os parâmetros antes de executar e acaba dando erro se Text1.Text for igual [Ô][Ô].
E é claro também que não estou falando desta alternativa:

If Text1.Text <> [Ô][Ô] Then
X = CInt(Text1.Text)
Else
X = Empty
End If

Alguém sabe?
Obrigado.
FILMAN 04/04/2012 11:12:53
#399083
X = iif(isEmpty(Text1.Text), Empty, Cint(Text1.Text))

ou

X = iif(Len(Text1.Text) <= 0, Empty, Cint(Text1.Text))


Lembrando que o CINT ou INT só ira funcionar se tiver somente numeros na caixa de texto


Verifica ai
JALEXM 04/04/2012 11:36:41
#399089
Citação:

:

X = iif(isEmpty(Text1.Text), Empty, Cint(Text1.Text))

ou

X = iif(Len(Text1.Text) <= 0, Empty, Cint(Text1.Text))


Lembrando que o CINT ou INT só ira funcionar se tiver somente numeros na caixa de texto


Verifica ai



Infelizmente não funciona.
O problema está justamante no CInt quando Text1.Text = [Ô][Ô].
CInt é avaliado pelo IIf e causa erro.
Alguma ideia?
OCELOT 04/04/2012 12:29:30
#399093
Nâo tem alternativa, só usando If normal mesmo
JSFF77 04/04/2012 12:32:14
#399094
Boa tarde.

Eu faria assim:

X = CInt(IIf(IsNumeric(Text1.Text), Text1.Text, 0))


Veja se serve.


JSFF77
www.visualgria.com.br
MARCELO.TREZE 04/04/2012 13:06:40
#399095
Bom como o JSFF7 colocou se vc fizer a conversão na instrução IIf funciona.

ou seja sua instrução dentro do cint

X = CInt(IIf(Text1.Text = [Ô][Ô], Empty, Text1.Text))



Tópico encerrado , respostas não são mais permitidas