... Assinatura do site por 1 ano + Kit MontaRibbons + 3 Livros em PDF + Diversas Revistas (pdf) de brinde, por apenas R$100,00
(
podendo parcelar em até 10 vezes no cartão de crédito)...

Clique aqui e obtenha mais detalhes do nosso kit completo e de como comprar.


É possível o uso do Between dentro da condição If?

Usuário Leandro:

Bom dia.

Estou tentado criar um critério para a função "If" que seria o valor entre dois números.

A ideia é a de executar um procedimento, de acordo com o valor do uma textbox.

Tentei das seguintes formas e não consegui:

If Me.txtValor.Value = Between 81 and 100 Then
e
If Me.txtValor.Value = > 81 and < 100 Then

Como poderia ser feito?

Suporte:

Leandro,

experimente assim:

If Eval(Me!cboValor & " Between 81 and 100") Then

else

end if

Usuário Leandro:

Avelino,

não entendo o que está acontecendo.

Fiz um BD pra teste, onde, ao mudar o valor de uma caixa de combinação, algumas caixas de texto alteram de cor.

Se o valor selecionado for entre 0 e 20, apenas uma caixa muda de cor, se o valor selecionado for entre 21 e 40, duas caixas mudam de cor, etc...

O código If Eval(Me!cboValor & " between 81 and 100") Then  funciona perfeitamente para esse caso.

Porém no BD que estou desenvolvendo, não uso uma caixa de combinação, e sim uma caixa de texto calculada, que retorna uma porcentagem.  Nesse caso, o código não está funcionando.

Usei o mesmo código no "Change" da caixa de texto que retorna o valor desejado, assim, todas as vezes em  que o cálculo alterar o valor na caixa, a mudança nas cores será efetuada.

Tentei usar If Eval(Me!cboValor & " between 0,81 and 1") Then, por ser porcentagem, mas também não funcionou, apresentando a seguinte caixa de erro:

"Erro 2432
A expressão que você inseriu contém uma sintaxe inválida ou você
precisa delimitar o texto entre aspas"

Ou seja, ao alterar o botão txtAno, os cálculos são realizados e a caixa "Texto1359" é preenchida com um valor em porcentagem.

Se esse valor for entre 30% e 40%, a caixa "rt100G" é preenchida com a cor "12632256"...

O que pode ser?

Suporte:

Leandro,

altere o valor da percentagem, usando o ponto:

If Eval(Me.Texto1359 & "between 0.3 and 0.4") Then
    Me.rt100G.BackColor = 12632256
End If

End Sub

Se tem mais de uma cor para alterar, talvez seja melhor utilizar o Select Case. Exemplo:

Select Case me!Texto1359
case 0 to 0.29
   Me.rt100G.BackColor = 0
case 0.3 to 0.4
    Me.rt100G.BackColor = 12632256
case 0.41 to 0.79 
   Me.rt100G.BackColor = vbBlue
case 0.80 to 1
   Me.rt100G.BackColor = vbRed
end select

Usuário Leandro:

Boa tarde, Avelino.

Funcionou nos dois casos, tanto com o "If" quanto com o "Select Case".

Acabei usando o Select Case, pois achei que ficou ligeiramente mais rápido que o If.


 

 


Não há comentário

Envie seu comentário: