Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

pedrovisk

Questão de Lógica

Recommended Posts

Turma,

 

Creio eu que seja um problema de lógica. Estou querendo que a variável assuma o valor de acordo com ocódigo abaixo, ou seja, se o idCategoria for 17 ou 18 ou 19, a variável receba o valor da variável Quantidade se não receba o valor de 0, mas o que acontece é que recupera o valor da variável quando valor de idCategoria vem com 17, nos demais não entra no IF.

 

If idCategoria = 17 Or 18 Or 19 Then   Quantidade = QuantidadeElse   Quantidade = 0End If

O que está errado?

 

Obrigado,

 

Pedro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

 

Tente assim.

 

If ( idCategoria = 17 ) Or ( idCategoria = 18 )  Or ( idCategoria = 19 ) Then

ou assim.

select case idCategoria  case 17 ...  case 18 ....  case 19...end select

Até..

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro está na comparação, você não pode simplesmente declarar a variável uma vez e usar o "Or" para ela sem declarar novamente...

Se ainda com a correção não funcionar, pode ser pau do ASP ao reconhecer valores numéricos, tente:

 

If CInt(idCategoria) = 17 Or CInt(idCategoria) = 18 Or CInt(idCategoria) = 19 Then   Quantidade = QuantidadeElse   Quantidade = 0End If

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

outra opção =B

if (idCategoria >= 17) and (idCategoria <= 19) then

O que seria perfeito para esta era o "in" que algumas linguagens como SQL e Object Pascal têm, porém com VBScript acho que não rola.

 

Se ligue tb no que o colega acima citou sobre conversão, verifique sempre se está trabalhando realmente com numéricos.

 

vlw.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.