none
Informações Incorretas RRS feed

  • Pergunta

  • Bom dia Pessoal,

     

    Estou tendo problemas ao exibir informações de uma tabela. O resultado de um select que estou fazendo está aparecendo sempre sem o primeiro registro.

    A tabela é essa:

    ModeloVeiculo NomeVersao PrimeiroAno UltimoAno
    8 1.3 MPI Fire Cargo 16V 80CV 2001 2005
    8 1.3 MPI Fire EX 16V 2001 2006
    8 1.6 MPI ELX 16V 2001 2003
    8 1.8 MPI Adventure 8V 2000 2001
    8 1.8 MPI ELX 8V 2004 2006
    8 1.8 Adventure Estrada Real 8V 2005 2005
    8 1.8 MPI HLX 8V 2006 2008

     

    Code Snippet

    <select name="VersaoModelo" id="VersaoModelo" OnBlur="this.style.width='190px'" style="width:190px;">
    <%

     '###Retorna as versões do modelo escolhido.
     Set cmdVersoes = Server.CreateObject("ADODB.Command")
     cmdVersoes.ActiveConnection = DataVeiculos
     cmdVersoes.CommandText = "SELECT * FROM TBLVersoes Where ModeloVeiculo = 8"
     cmdVersoes.CommandType = 1
     Set rsVersoes = Server.CreateObject("ADODB.Recordset")
     rsVersoes.Open cmdVersoes, , 3, 3

    Dim Ano
    Ano = 2001

    %>

    <option value="0">Selecione...</option>

    <%

    while not rsVersoes.eof

    if Ano >= rsVersoes("PrimeiroAno")  and  Ano =< rsVersoes("UltimoAno") then

    response.write rsVersoes("NomeVersao") & "<br>"

    Response.write "<option value=""" & rsVersoes("CodigoVersao") & """<" & rsVersoes("NomeVersao") & "</option>"

    else

    end if

    rsVersoes.movenext
    wend

    %>

    </option>
    </select>

     

     

    Com o exemplo acima, ele exibe somente o 2º, o 3º e o 4º registro, sendo que o primeiro também deveria aparecer...

     

    Oque posso estar fazendo de errado?

     

    No aguardo,

    sexta-feira, 18 de abril de 2008 11:33

Respostas

Todas as Respostas

  • Eder provavelmente o primeiro registro não esta retornando verdadeiro na condição colocada:

     

    if Ano >= rsVersoes("PrimeiroAno")  and  Ano =< rsVersoes("UltimoAno") then

     

    E se você perceber tem um else perdido ai no meio do código.

     

     

    while not rsVersoes.eof

    if Ano >= rsVersoes("PrimeiroAno")  and  Ano =< rsVersoes("UltimoAno") then

    response.write rsVersoes("NomeVersao") & "<br>"

    Response.write "<option value=""" & rsVersoes("CodigoVersao") & """<" & rsVersoes("NomeVersao") & "</option>"

    else

    end if

    rsVersoes.movenext
    wend

     

    Tenta fazer assim, para ver se ele aparece:

     

    while not rsVersoes.eof

    if Ano >= rsVersoes("PrimeiroAno")  and  Ano =< rsVersoes("UltimoAno") then

    response.write rsVersoes("NomeVersao") & "<br>"

    Response.write "<option value=""" & rsVersoes("CodigoVersao") & """<" & rsVersoes("NomeVersao") & "</option>"

    else

    Response.Write "<optin value= '" & rsVersoes("CodigoVersao") & " '> EsteNaoAparece" & rsVersoes("NomeVersao") & "</option>"

    end if

    rsVersoes.movenext
    wend

     

    Abraços

     

    Estevam

    sexta-feira, 18 de abril de 2008 11:57
  • Fiz como você falou.... Olha oque acontece... continua com o problema... o primeiro registro... não aparece... e como pode ver...

    Como podem ver no código o IF, neste exemplo, verifica os registros e deixa aparecer somente quando 2001 for maior ou igual ao primeiro ano e se 2001 é menor ou igual o ultimo ano.. assim, se eu selecionar 2004, por exemplo, que não tem na tabela, ele mostra todos os que tem 2004 no intervalo entre o primeiro e o ultimo ano, com exceção do primeiro registro da seleção.

     


    http://189.39.85.66/files/infincorreta.jpg

    Continuo no aguardo,
    sexta-feira, 18 de abril de 2008 12:39
  • Não acredito!!!!!

     

    Olha só a porcaria que tava ferrando o código!!!!!!

    CERTO

    Response.write "<option value=""" & rsVersoes("CodigoVersao") & """>" & rsVersoes("NomeVersao") & "</option>"

     

    ERRADO

    Response.write "<option value=""" & rsVersoes("CodigoVersao") & """<" & rsVersoes("NomeVersao") & "</option>"

     

    Bastou inverter o de < para > e começou a pegar o primeiro registro.....

     

     

    Um amigo meu chegou aqui e me mostrou....

     

     

    Valeu....

    sexta-feira, 18 de abril de 2008 14:05
  • rs nem tinha visto isto também, mas melhor que já esta resolvido.

     

    Abraços

     

    Estevam

    sexta-feira, 18 de abril de 2008 14:39