Ir para conteúdo

POWERED BY:

Arquivado

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

marcus_artes

[Resolvido] Problemas com código!

Recommended Posts

Olá amigos,

 

Sou novo no fórum. Não sei se estou postando minha duvida no lugar certo... Se não for, peço descupas...

 

Estou com problema no seguinte código:

 

----------------------------------------------------------------------------------------------------------------------------

ano_verifica = rs_assunto.Fields.Item("ano").Value
mes_verifica = rs_assunto.Fields.Item("mes").Value
dia_verifica = rs_assunto.Fields.Item("dia").Value
hora_verifica = rs_assunto.Fields.Item("hora").Value
minuto_verifica = rs_assunto.Fields.Item("minuto").Value

hora_atual = hour(Now)
minuto_atual = minute(Now)
dia_atual = day(now())
mes_atual = month(now())
ano_atual = year(now())


if ano_atual > ano_verifica then

	Response.write "Excluir ano <br>"

end if

if ano_atual < ano_verifica then

	Response.write "Normal ano <br>"

end if
	
if ano_atual = ano_verifica then

	if mes_atual > mes_verifica then
	
		Response.write "Excluir mes <br>"
	
	end if
		
	if mes_atual < mes_verifica then
	
		Response.write "Normal mes <br>"
		
	end if
		
	if mes_atual = mes_atual then
	
		if dia_atual > dia_verifica then
		
			Response.write "Excluir dia <br>"
			
		end if
			
		if dia_atual < dia_verifica then
		
			Response.write "Normal dia <br>"
			
		end if
			
		if dia_atual = dia_verifica then
		
			if hora_atual > hora_verifica then
			
				Response.write "Excluir hora <br>"
				
			end if
				
			if hora_atual < hora_verifica then
			
				Response.write "Normal hora <br>"
				
			end if
				
			if hora_atual = hora_verifica then
			
				if minuto_atual >= minuto_verifica then
				
					Response.write "Excluir minuto <br>"
					
				end if
					
				if minuto_atual < minuto_verifica then
				
					Response.write "Normal minuto <br>"
				
				end if
			end if
		end if
	end if			
end if

 

Não sei pq, mas o código sempre entra no segundo if que faz a verificação "ano_atual < ano_verifica"

idependente se os valores são iguais ou não...

 

Desde já agradeço a ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os valores das variáveis estão como ??

 

De um Response.Write Nas variáveis para ter certeza de que os valores comparados no IF estão corretos...

 

Abraços....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já fiz esse teste e estão retornando como deveriam, no caso, "ano_verifica" vem do banco e responde "2009", e "ano_atual" que pega o ano do servidor vem como 2009 tbm, por tanto, deveria entrar na condição do terceiro if que diz "ano_atual = ano_verifica", mas não é o que acontece!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tbm já tentei... Já criei umas 5 ou 6 lógicas diferentes, e não funciona... sempre cai nessa condição... não sei mais o que fazer! hauahauha

 

Vou deixar o código completo aqui... vê se você entende!

<form name="form1" method="post" action="lembretes_excluir.asp?usuario=<% Response.Write usuario %>&id=<% Response.Write id %>">
<table width="700" border="0" align="center">
  <tr bgcolor="#1160C6">
	<td colspan="4">
	
	<% nome_pais = Request.QueryString("nome_pais") %>
	
		<font face="Arial" color="#FFFFFF" size="4"><b> Excluir Lembretes</b></font>
		

		
		
	</td>
  </tr>
  <tr bgcolor="#1160C6">
	  <td width="5">
	  </td>
	  <td align="center">
			<font face="Arial" color="#FFFFFF" size="2"><b>Data</b></font>
	  </td>
	  <td align="center">
			<font face="Arial" color="#FFFFFF" size="2"><b>Hora</b></font>
	  </td>
	  <td align="center">
			<font face="Arial" color="#FFFFFF" size="2"><b>Lembrete</b></font>
	  </td>
  </tr>
<%
Const adOpenKeyset = 1
Const adLockReadOnly = 1

Set Conexao = Server.CreateObject("ADODB.Connection")
Conexao.Open("DRIVER={MySQL ODBC 3.51 Driver};SERVER=************;PORT=****;DATABASE=********;USER=*******;PASSWORD=**
**********;OPTION=3;")


SQL = "SELECT * FROM intravendas_lembretes WHERE responsavel_id='"& id &"' ORDER BY ano,mes,dia,hora,minuto ASC"
Set rs_Assunto = Server.CreateObject("ADODB.RecordSet")
rs_Assunto.Open SQL, Conexao, adOpenKeyset,adLockReadOnly



registros = 1

Do while not rs_assunto.eof

Registros = Registros + 1

mes = (rs_assunto.Fields.Item("mes").Value)

if mes = 1 then
mes_resposta = "Janeiro"
end if

if mes = 2 then
mes_resposta = "Fevereiro"
end if

if mes = 3 then
mes_resposta = "Março"
end if

if mes = 4 then
mes_resposta = "Abril"
end if

if mes = 5 then
mes_resposta = "Maio"
end if

if mes = 6 then
mes_resposta = "Junho"
end if

if mes = 7 then
mes_resposta = "Julho"
end if

if mes = 8 then
mes_resposta = "Agosto"
end if

if mes = 9 then
mes_resposta = "Setembro"
end if

if mes = 10 then
mes_resposta = "Outubro"
end if

if mes = 11 then
mes_resposta = "Novembro"
end if

if mes = 12 then
mes_resposta = "Dezembro"
end if

ano_verifica = (rs_assunto.Fields.Item("ano").Value)
mes_verifica = (rs_assunto.Fields.Item("mes").Value)
dia_verifica = (rs_assunto.Fields.Item("dia").Value)
hora_verifica = (rs_assunto.Fields.Item("hora").Value)
minuto_verifica = (rs_assunto.Fields.Item("minuto").Value)

hora_atual = hour(now())
minuto_atual = minute(now())
dia_atual = day(now())
mes_atual = month(now())
ano_atual = year(now())


if ano_atual > ano_verifica then

	Response.write "Excluir ano <br>"

end if

if ano_atual < ano_verifica then

	Response.write "Normal ano "
	Response.write ano_atual
	Response.write "="
	Response.write ano_verifica
	Response.write "<br>"

end if
	
if ano_atual = ano_verifica then

	if mes_atual > mes_verifica then
	
		Response.write "Excluir mes <br>"
	
	end if
		
	if mes_atual < mes_verifica then
	
		Response.write "Normal mes <br>"
		
	end if
		
	if mes_atual = mes_atual then
	
		if dia_atual > dia_verifica then
		
			Response.write "Excluir dia <br>"
			
		end if
			
		if dia_atual < dia_verifica then
		
			Response.write "Normal dia <br>"
			
		end if
			
		if dia_atual = dia_verifica then
		
			if hora_atual > hora_verifica then
			
				Response.write "Excluir hora <br>"
				
			end if
				
			if hora_atual < hora_verifica then
			
				Response.write "Normal hora <br>"
				
			end if
				
			if hora_atual = hora_verifica then
			
				if minuto_atual >= minuto_verifica then
				
					Response.write "Excluir minuto <br>"
					
				end if
					
				if minuto_atual < minuto_verifica then
				
					Response.write "Normal minuto <br>"
				
				end if
			end if
		end if
	end if			
end if


rs_assunto.movenext
registros = registros +1
Loop

if Registros <= 1 then
%>
	<tr bgcolor="#F2F2F2">
		<td colspan="4" valign="top" align="center">
			<font face="Arial" color="#000000" size="2">Nenhum Lembrete</font>
		</td> 
	</tr>
<%
end if
%>
	<tr>
		<td colspan="4">
			<input name="Submit" type="submit" value="Apagar">
		</td>
	</tr>
</table>

</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara.. aparentemente não tem nada de errado com o seu código...

 

Oq pode estar ocorrendo é uma diferença nos valores comparados mesmo....

 

Teste colocando os valores manualmente...

 

Declare as duas variáveis com o valor de "2009" diretamente no código.. e veja se o erro ocorre..

 

Abraços..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Influencia sim pois 9 "texto" é diferente de 9 "numero". Ai tem que converte-los como fiz agora.

 

abraços

 

Testa ai.

if ano_atual > ano_verifica then

	Response.write "Excluir ano <br>"

end if

if ano_atual < ano_verifica then

	Response.write "Normal ano "
	Response.write ano_atual
	Response.write "="
	Response.write ano_verifica
	Response.write "<br>"

end if
	
if ano_atual = ano_verifica then

	if cdbl(mes_atual) > cdbl(mes_verifica) then
	
		Response.write "Excluir mes <br>"
	
	end if
		
	if cdbl(mes_atual) < cdbl(mes_verifica) then
	
		Response.write "Normal mes <br>"
		
	end if
		
	if cdbl(mes_atual) = cdbl(mes_atual) then
	
		if cdbl(dia_atual) > cdbl(dia_verifica) then
		
			Response.write "Excluir dia <br>"
			
		end if
			
		if cdbl(dia_atual) < cdbl(dia_verifica) then
		
			Response.write "Normal dia <br>"
			
		end if
			
		if cdbl(dia_atual) = cdbl(dia_verifica) then
		
			if cdbl(hora_atual) > cdbl(hora_verifica) then
			
				Response.write "Excluir hora <br>"
				
			end if
				
			if cdbl(hora_atual) < cdbl(hora_verifica) then
			
				Response.write "Normal hora <br>"
				
			end if
				
			if cdbl(hora_atual) = cdbl(hora_verifica) then
			
				if cdbl(minuto_atual) >= cdbl(minuto_verifica) then
				
					Response.write "Excluir minuto <br>"
					
				end if
					
				if cdbl(minuto_atual) < cdbl(minuto_verifica) then
				
					Response.write "Normal minuto <br>"
				
				end if
			end if
		end if
	end if			
end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz os testes manuais e o que percebi foi o seguinte, por algum motivo os valores de comparação é que não estão funcionando... é como se < fosse =, porém se eu mudar os valores, ele entra de qualquer maneira na condição idependente do valor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Influencia sim pois 9 "texto" é diferente de 9 "numero". Ai tem que converte-los como fiz agora.

 

abraços

 

Testa ai.

if ano_atual > ano_verifica then

	Response.write "Excluir ano <br>"

end if

if ano_atual < ano_verifica then

	Response.write "Normal ano "
	Response.write ano_atual
	Response.write "="
	Response.write ano_verifica
	Response.write "<br>"

end if
	
if ano_atual = ano_verifica then

	if cdbl(mes_atual) > cdbl(mes_verifica) then
	
		Response.write "Excluir mes <br>"
	
	end if
		
	if cdbl(mes_atual) < cdbl(mes_verifica) then
	
		Response.write "Normal mes <br>"
		
	end if
		
	if cdbl(mes_atual) = cdbl(mes_atual) then
	
		if cdbl(dia_atual) > cdbl(dia_verifica) then
		
			Response.write "Excluir dia <br>"
			
		end if
			
		if cdbl(dia_atual) < cdbl(dia_verifica) then
		
			Response.write "Normal dia <br>"
			
		end if
			
		if cdbl(dia_atual) = cdbl(dia_verifica) then
		
			if cdbl(hora_atual) > cdbl(hora_verifica) then
			
				Response.write "Excluir hora <br>"
				
			end if
				
			if cdbl(hora_atual) < cdbl(hora_verifica) then
			
				Response.write "Normal hora <br>"
				
			end if
				
			if cdbl(hora_atual) = cdbl(hora_verifica) then
			
				if cdbl(minuto_atual) >= cdbl(minuto_verifica) then
				
					Response.write "Excluir minuto <br>"
					
				end if
					
				if cdbl(minuto_atual) < cdbl(minuto_verifica) then
				
					Response.write "Normal minuto <br>"
				
				end if
			end if
		end if
	end if			
end if

 

Vlw! Agora Funcionou! Não sabia disso!!! Brigadão!

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.