Ir para conteúdo

POWERED BY:

Arquivado

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

Ecos

Variável não recebe valor

Recommended Posts

rst.open "select codrel, os, cast(status as varchar(50)) as status, convert(varchar, plinicial, 103) as plinicial, convert(varchar, plfinal, 103) as plfinal, razaosocial, nome from tblgavrelatorio inner join tblfuncionario on tblfuncionario.codfuncionario = tblgavrelatorio.codfuncionario inner join tblcliente on tblcliente.codcli = tblgavrelatorio.codcli " & where, con
		
		Dim Cor
		
	 do while not rst.eof
	 			
			if(rst("status")) = "Iniciado" Then
				Cor = "#FFFACD"
			elseif(rst("status")) = "Aguardando Aprovação" Then
				Cor = "#FF6A6A"
			elseif(rst("status")) = "Reprovado" Then
				Cor = "#FFBBFF"
			elseif(rst("status")) = "Aprovado" Then
				Cor = "#9AFF9A"
			elseif(rst("status")) = "Impresso" Then
				Cor = "#FFFFFF"
			elseif(rst("status")) = "Finalizado" Then
				Cor = "#FFFFFF"
			elseif(rst("status")) = "Aguardando Impressão" Then
				Cor = "#B0E2FF"
			elseif(rst("status")) = "Enviado para o Cliente" Then
				Cor = "#FFFFF0"
			End If
			
			response.write(Cor)
			
		%>
		
	     <tr bgcolor="<%response.write Cor%>">
              <td>......
 <%
    rst.movenext
      loop
%>

 

Galera... tem esse if dentro do while... nao entra em nenhuma condição.Já verifiquei tudo... mas nao entra..

o que tem de errado ? o select ta certo pois trás os resultados.

ele nao entra nos ifs e nao carrega a variável COR. mas os status está tudo certo.

 

resolvido

bgd a todos que ajudaram

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os itens das condições (Aguardando Aprovação, Aguardando Impressão, ...) estão escritos exatamente como estão cadastrados no banco? isso inclui maiusculas, minusculas e acentuação.

 

Tente colocar um último "else" sem condição, com uma cor que não esteja entre as superiores, e veja o que está sendo retornado da variável

 

rst.open "select codrel, os, cast(status as varchar(50)) as status, convert(varchar, plinicial, 103) as plinicial, convert(varchar, plfinal, 103) as plfinal, razaosocial, nome from tblgavrelatorio inner join tblfuncionario on tblfuncionario.codfuncionario = tblgavrelatorio.codfuncionario inner join tblcliente on tblcliente.codcli = tblgavrelatorio.codcli " & where, con
                
    Dim Cor
                
    do while not rst.eof
                                
                        if(rst("status")) = "Iniciado" Then
                                Cor = "#FFFACD"
                        elseif(rst("status")) = "Aguardando Aprovação" Then
                                Cor = "#FF6A6A"
                        elseif(rst("status")) = "Reprovado" Then
                                Cor = "#FFBBFF"
                        elseif(rst("status")) = "Aprovado" Then
                                Cor = "#9AFF9A"
                        elseif(rst("status")) = "Impresso" Then
                                Cor = "#FFFFFF"
                        elseif(rst("status")) = "Finalizado" Then
                                Cor = "#FFFFFF"
                        elseif(rst("status")) = "Aguardando Impressão" Then
                                Cor = "#B0E2FF"
                        elseif(rst("status")) = "Enviado para o Cliente" Then
                                Cor = "#FFFFF0"
                        else 'Caso não encontre
                                Cor = "#FF0000"
                        End If
                        
                        response.write(Cor)
                        response.write("." & rst("status") & ".")
                %>
                
            <tr bgcolor="<%=Cor%>">
            <td>......
            <%
            rst.movenext
    loop
    %>

Teste o código acima, dependendo do que retornar entre os pontos, você poderá identificar se os dados estão corretos ou não. Como sugestão, no lugar dos ifs, use o select case

 

rst.open "select codrel, os, cast(status as varchar(50)) as status, convert(varchar, plinicial, 103) as plinicial, convert(varchar, plfinal, 103) as plfinal, razaosocial, nome from tblgavrelatorio inner join tblfuncionario on tblfuncionario.codfuncionario = tblgavrelatorio.codfuncionario inner join tblcliente on tblcliente.codcli = tblgavrelatorio.codcli " & where, con
                
Dim Cor
                
do while not rst.eof
                        select case rst("status")
                            case "Iniciado"
                                Cor = "#FFFACD"
                            case "Aguardando Aprovação"
                                Cor = "#FF6A6A"
                            case "Reprovado"
                                Cor = "#FFBBFF"
                            case "Aprovado"
                                Cor = "#9AFF9A"
                            case "Impresso"
                                Cor = "#FFFFFF"
                            case "Finalizado"
                                Cor = "#FFFFFF"
                            case "Aguardando Impressão"
                                Cor = "#B0E2FF"
                            case "Enviado para o Cliente"
                                Cor = "#FFFFF0"
                            case else
                                Cor = "#FF0000"
                        End select
                        
                        response.write(Cor)
                        response.write("." & rst("status") & ".")
                        %>
                
                        <tr bgcolor="<%=Cor%>">
                        <td>......
                        <%
                        rst.movenext
loop
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

ela gera algum numero de erro, se sim poste o numero do erro e linha

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.