Ir para conteúdo

POWERED BY:

Arquivado

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

Reginaldo

[Resolvido] comparando valores

Recommended Posts

pessoal eu to fazendo um select com o between pra selecionar faixas de valores..

 

como a maioria ja sabe pra isso precisa um valor inicial e um valor limite..

 

certo... tenho 2 campos no form pra digitação desses valores..

 

esses campos não permitem a digitação de nada além de numeros e também ja formata o valor com seus pontos e virgulas igual nos caixas eletronicos conforme você digita...

 

bom o ideal pra uma seleção desse tipo é que o valor inicial seja menor que o valor limite (claro!!)

 

e pra isso eu confiro este valor no asp... ai vai meu codigo

 

 

'pegando valores
val1 = request.form("val1")
val2 = request.form("val2")

'conferindo oq veio
if val1 = "Qualquer" or val1 = "" or IsNumeric(val1) <> true then
val1 = 0
end if

if val2 = "Qualquer" or val2 = "" or IsNumeric(val2) <> true then
val2 = 1000000000000000000000
end if

'val1 = replace(val1, ".", "")
'val1 = replace(val1, ",", "")
'val2 = replace(val2, ".", "")
'val2 = replace(val2, ",", "")

response.write(FormatCurrency(val1)&"<br>")
response.write(FormatCurrency(val2)&"<br>")
'response.End()

'conferindo se tiveram a decencia de colocar o valor 1 menor que o valor 2
if val1 >= val2 then %>
<script>
alert("ATENÇAO!!\nSe deseja filtrar sua busca por faixa de valores então você deve indicar um valor inicial inferior ao valor limite\n\nObrigado!");
</script>
<%
Response.End()
End if

bom galera agora o meu problema é o seguinte:

 

suponha q digito o valor 10.000,00 no campo 1 e 20.000,00 no 2

 

na logica é pra dar certo né ?? pq 1 é menor que 2 e isto corresponde a expressão acima!!

 

e muitas veses funciona!!! ... porém... varias veses não funciona... ele me da o alerta acima como se 1 fosse maior que 2...

 

o que vcs acham disto ? qual a sugestão ?

 

ja removi até os pontos e virgulas do numero pra fazer a comparação mas deu na mesma!!!

 

espero que me ajudem!! não sei mais oq fazer...

 

abraço a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta esse código abaixo:

<%
'pegando valores
val1 = request.form("val1")
val2 = request.form("val2")

'conferindo oq veio
if (val1 = "Qualquer") or (val1 = "") or (not IsNumeric(val1)) then
	val1 = 0
end if

if (val2 = "Qualquer") or (val2 = "") or (not IsNumeric(val2)) then
	val2 = 1000000000000000000000
end if

val1 = replace(val1, ".", "")
val1 = replace(val1, ",", "")
val2 = replace(val2, ".", "")
val2 = replace(val2, ",", "")

'response.write(FormatCurrency(val1)&"<br>")
'response.write(FormatCurrency(val2)&"<br>")
'response.End()

'conferindo se tiveram a decencia de colocar o valor 1 menor que o valor 2
if val1 >= val2 then
%>
	<script>
	alert("ATENÇAO!!\nSe deseja filtrar sua busca por faixa de valores então você deve indicar um valor inicial inferior ao valor limite\n\nObrigado!");
	</script>
<%
	Response.End()
else
	response.write "Ok."
end if
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

digitando o valor 10000 o meu javascript formata p/ 100,00

mas o asp interpreta como 10.000,00

 

tipo.. se eu jogar no asp com as virgulas e pontos do jeito q vem do JS ele interpreta como 100,00 direitinho... tudo certinho..

 

o grande problema é q tenho q inserir essa string na SQL sem pontos e sem virgulas... e ai ela interpreta como 10.000,00 por causa da quantidade de zeros...

 

conhecem alguma forma de contornar isto ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

digitando o valor 10000 o meu javascript formata p/ 100,00

mas o asp interpreta como 10.000,00

 

tipo.. se eu jogar no asp com as virgulas e pontos do jeito q vem do JS ele interpreta como 100,00 direitinho... tudo certinho..

 

o grande problema é q tenho q inserir essa string na SQL sem pontos e sem virgulas... e ai ela interpreta como 10.000,00 por causa da quantidade de zeros...

 

conhecem alguma forma de contornar isto ?

 

para isso Use o Replace pra retirar o ponto e virgula...

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo vb se você tivesse visto meu codigo acima iria perceber q ja tentei isto...

 

mas acabei de solucionar...

 

se alguem ler este post com o mesmo problema ai vai a solução....

 

no BD use campo do tipo numero simples...

 

pois o tipo unidade monetaria do access num vale nada.. rsrs

 

 

abraço e obrigado pelo esforço de todos

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.