Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Comando Select Não funciona


Clauido José

Pergunta

Ola pessoal to aqui de novo me ajudem por favor. Sei que postei este tópico hoje mas estou com problema não consegui resolver.

È o seguinte no banco access eu coloque um campo data com formato "Data Abreviada" e a mascara de entrada assim "00/00/0000;0;#" bom quando faço o insert ele vai beleza mas quando vou usar o select ele fala que não achou nenhum registro estou fazendo da seguinte maneira:

<!--#include file="strCon.asp"-->
    <%
        dim Conexao, strSql, strData
        call abreConexao()
        campos = "NoOs,DatCompromisso,DatSolicitada,idEmpresa,idTecnico,Status,HoraInicio,Danos"
        strSql = "Select " & campos & " from tabDTH where DatCompromisso = #" & cDate &"# order by idEmpresa,DatCompromisso"
        response.Write(strsql)
        response.End()
        if rsRota.State=1 then rsRota.Close 
        rsRota.Open strSql, Conexao        
    %>
quando dou o response ele me retorna da seguinte maneira.
Select * from tabDTH where DatCompromisso = #10/12/2008# order by idEmpresa,DatCompromisso

só que ele fala que não tem nenhum registro encontrado.

Link para o comentário
Compartilhar em outros sites

18 respostass a esta questão

Posts Recomendados

  • 0

eu mudaria sinatxe desse query assim:

strSql = "Select * from tabDTH where DatCompromisso = #" & cDate &"# order by idEmpresa,DatCompromisso"

agora, como assim ele diz que não encontrou nada? qual é exatamente a mensagem de erro que aparece? cade o restante do código?

Em nenhum momento do seu codigo aparece on error resume next?

se sim, remova ele temporariamente, forçando a aparecer alguma mensagem de erro!

Link para o comentário
Compartilhar em outros sites

  • 0

Bom vou colocar exatamente o que to fazendo pra você enteneder ok.

<body>
    <!--#include file="strCon.asp"-->
    <%
        dim Conexao, strSql, strData
        call abreConexao()
        campos = "NoOs,DatCompromisso,DatSolicitada,idEmpresa,idTecnico,Status,HoraInicio,Danos"
        strSql = "Select " & campos & " from tabDTH where DatCompromisso = #" & cDate &"# order by idEmpresa,DatCompromisso"
        response.Write(strsql)
        response.End()
        if rsRota.State=1 then rsRota.Close 
        rsRota.Open strSql, Conexao        
    %>
    
    <form action="rotas.asp?atc=ok" method="post" name="frmRotas" id="frmRotas">
    <table width="700" height="490" border="0" align="center" cellpadding="0" cellspacing="0" class="Tabela">
        <tr>
            <td width="33" class="aviso">&nbsp;</td>
            <td colspan="3" class="aviso">&nbsp;</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td colspan="3" class="Texto">Ola<%=Session("Usuario")%> voc&ecirc; est&aacute; em <strong>Intranet DTH 25</strong> <strong>&raquo; Rotas</strong></td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td colspan="3" class="Texto">&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td width="56" class="Texto">Classificar:</td>
          <td width="96" class="Texto"><select name="mnuRota" class="campo" onchange="MM_jumpMenu('this',this,0)">
            <option>Selecione</option>
            <option value="rotas.asp?atc=Geral"<%if Request.QueryString("atc")="Geral" then%>selected<%end if%>>Geral</option>
            <option value="rotas.asp?atc=Servico"<%if Request.QueryString("atc")="Servico" then%>selected<%end if%>>Servico</option>
          </select></td>
          <td width="313" class="Texto">&nbsp;</td>
      </tr>
      <tr>
            <td colspan="4">&nbsp;</td>
        </tr>
        <tr>        
            <td colspan="4"><table width="99%" border="0" align="center" cellpadding="3" cellspacing="3" class="Tabela1">
                <tr bgcolor="#FFFFFF">
                    <td width="10%" height="15" class="SubTitulo">Codigo</td>
                    <td width="38%" align="center" class="SubTitulo">Empresa</td>
                    <td width="05%" align="left" class="SubTitulo">Total</td>
                    <td width="05%" align="left" class="SubTitulo">AB</td>
                    <td width="05%" align="left" class="SubTitulo">AC</td>
                    <td width="05%" align="left" class="SubTitulo">CA</td>
                    <td width="05%" align="left" class="SubTitulo">NF</td>
                    <td width="05%" align="left" class="SubTitulo">RP</td>            
                    <td width="10%" align="left" class="SubTitulo">H.Incío</td>                    
                </tr>
                <tr>
                    <td colspan="9"><div><table width="98%" border="0" cellpadding="0" cellspacing="0" class="Tabela1">

                    <%
                    if not rsRota.Eof then
                        strIdEmpresa =0
                        do while not rsRota.Eof
                            i=i+1
                            if i mod 2 = 0 Then
                                Bg="#FFFFFF"
                            else
                                Bg="#5082B4"
                            end if                        
                            if strIdEmpresa = rsRota("idEmpresa") then
                    %>
                                <tr bgcolor="<%=Bg%>">
                                    <td width="10%" height="24" class="SubTitulo"><%=rsRota("idEmpresa")%></td>
                                    <td width="38%" align="center" class="SubTitulo">&nbsp;</td>
                                    <td width="05%" align="left" class="SubTitulo">&nbsp;</td>
                                    <td width="05%" align="left" class="SubTitulo">&nbsp;</td>
                                    <td width="05%" align="left" class="SubTitulo">&nbsp;</td>
                                    <td width="05%" align="left" class="SubTitulo">&nbsp;</td>
                                    <td width="05%" align="left" class="SubTitulo">&nbsp;</td>
                                    <td width="05%" align="left" class="SubTitulo">&nbsp;</td>            
                                    <td width="10%" align="left" class="SubTitulo">&nbsp;</td>                    
                                </tr>                                        
                    <%
                            else                                
                                strIdEmpresa = rsRota("idEmpresa")
                            end if
                            rsRota.MoveNext
                        loop
                    else
                    %>
                        <tr>
                            <td colspan="9" class="Texto">Não a rota atribuida</td>
                        </tr>
                    <%
                    end if
                    %>
                </table></div></td>
                </tr>
                </table></td>
        </tr>
        <tr>
            <td colspan="4">&nbsp;</td>
        </tr>
    </table>
    </form>
</body>
</html>

Quando eu dou o if not rsRota.eof then ele não entra entende?

Link para o comentário
Compartilhar em outros sites

  • 0

isso é apenas um teste... portanto... teste e poste aqui os resultados:

<body>
    <!--#include file="strCon.asp"-->
    <%
        dim Conexao, strSql, strData
        call abreConexao()
        campos = "NoOs,DatCompromisso,DatSolicitada,idEmpresa,idTecnico,Status,HoraInicio,Dano
s"
        strSql = "Select " & campos & " from tabDTH where DatCompromisso = #" & cDate &"# order by idEmpresa,DatCompromisso"
        response.Write(strsql)
        response.End()
        if rsRota.State=1 then rsRota.Close
        rsRota.Open strSql, Conexao        
    %>
    
    <form action="rotas.asp?atc=ok" method="post" name="frmRotas" id="frmRotas">
    <table width="700" height="490" border="0" align="center" cellpadding="0" cellspacing="0" class="Tabela">
        <tr>
            <td width="33" class="aviso">&nbsp;</td>
            <td colspan="3" class="aviso">&nbsp;</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td colspan="3" class="Texto">Ola<%=Session("Usuario")%> voc&ecirc; est&aacute; em <strong>Intranet DTH 25</strong> <strong>&raquo; Rotas</strong></td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td colspan="3" class="Texto">&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td width="56" class="Texto">Classificar:</td>
          <td width="96" class="Texto"><select name="mnuRota" class="campo" onchange="MM_jumpMenu('this',this,0)">
            <option>Selecione</option>
            <option value="rotas.asp?atc=Geral"<%if Request.QueryString("atc")="Geral" then%>selected<%end if%>>Geral</option>
            <option value="rotas.asp?atc=Servico"<%if Request.QueryString("atc")="Servico" then%>selected<%end if%>>Servico</option>
          </select></td>
          <td width="313" class="Texto">&nbsp;</td>
      </tr>
      <tr>
            <td colspan="4">&nbsp;</td>
        </tr>
        <tr>        
            <td colspan="4"><table width="99%" border="0" align="center" cellpadding="3" cellspacing="3" class="Tabela1">
                <tr bgcolor="#FFFFFF">
                    <td width="10%" height="15" class="SubTitulo">Codigo</td>
                    <td width="38%" align="center" class="SubTitulo">Empresa</td>
                    <td width="05%" align="left" class="SubTitulo">Total</td>
                    <td width="05%" align="left" class="SubTitulo">AB</td>
                    <td width="05%" align="left" class="SubTitulo">AC</td>
                    <td width="05%" align="left" class="SubTitulo">CA</td>
                    <td width="05%" align="left" class="SubTitulo">NF</td>
                    <td width="05%" align="left" class="SubTitulo">RP</td>            
                    <td width="10%" align="left" class="SubTitulo">H.Incío</td>                    
                </tr>
                <tr>
                    <td colspan="9"><div><table width="98%" border="0" cellpadding="0" cellspacing="0" class="Tabela1">

                    <%
                    'if not rsRota.Eof then
                        'strIdEmpresa =0
                        'do while not rsRota.Eof
                            'i=i+1
                            'if i mod 2 = 0 Then
                                'Bg="#FFFFFF"
                            'else
                                'Bg="#5082B4"
                            'end if                        
                            'if strIdEmpresa = rsRota("idEmpresa") then
                    %>
                    <%While Not rsRota.EOF %>
                                <tr bgcolor="<%=Bg%>">
                                    <td width="10%" height="24" class="SubTitulo"><%=rsRota("idEmpresa")%></td>
                                    <td width="38%" align="center" class="SubTitulo">&nbsp;</td>
                                    <td width="05%" align="left" class="SubTitulo">&nbsp;</td>
                                    <td width="05%" align="left" class="SubTitulo">&nbsp;</td>
                                    <td width="05%" align="left" class="SubTitulo">&nbsp;</td>
                                    <td width="05%" align="left" class="SubTitulo">&nbsp;</td>
                                    <td width="05%" align="left" class="SubTitulo">&nbsp;</td>
                                    <td width="05%" align="left" class="SubTitulo">&nbsp;</td>            
                                    <td width="10%" align="left" class="SubTitulo">&nbsp;</td>                    
                                </tr>                                        
                    <%
                            'else                                
                                'strIdEmpresa = rsRota("idEmpresa")
                            'end if
                            'rsRota.MoveNext
                        'loop
                    'else
                    %>
                        <tr>
                            <td colspan="9" class="Texto">Não a rota atribuida</td>
                        </tr>
                    <%
                    'end if
                    %>
<%objRS1.MoveNext
Wend%>

                </table></div></td>
                </tr>
                </table></td>
        </tr>
        <tr>
            <td colspan="4">&nbsp;</td>
        </tr>
    </table>
    </form>
</body>
</html>

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

bom quando execute estes comando no browser não moustrou nada como se a recordset estive vazil. Entende quando o recordset não acha nada, não tenho certeza mas acho que é o geito que eu to abrindo sabe não me lembro tem um que você abre o recordcount aparece -1 você lembra e outro que abre certo.

Link para o comentário
Compartilhar em outros sites

  • 0

Conexão eu faço sempre assim:

Set objConn =  Server.CreateObject("ADODB.Connection")
objConn.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"
sql = "select * from tab"
Set ObjRs = objConn.Execute(sql)

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

bom cara é seguinte eu troquei a conexao do geito que você postou aqui mas não apareceu nada fiz um teste pra você ve o que ta acontecendo.

<%
                        strIdEmpresa =0
                        
                        response.Write("Inicio")
                        while not rsRota.Eof
                        
                        response.Write("Meio")
                            i=i+1
                            if i mod 2 = 0 Then
                                Bg="#FFFFFF"
                            else
                                Bg="#5082B4"
                            end if                        
                    %>
                                <tr bgcolor="<%=Bg%>">
                                    <td width="10%" height="24" class="SubTitulo"><%=rsRota("idEmpresa")%></td>
                                    <td width="38%" align="center" class="SubTitulo">&nbsp;</td>
                                    <td width="05%" align="left" class="SubTitulo">&nbsp;</td>
                                    <td width="05%" align="left" class="SubTitulo">&nbsp;</td>
                                    <td width="05%" align="left" class="SubTitulo">&nbsp;</td>
                                    <td width="05%" align="left" class="SubTitulo">&nbsp;</td>
                                    <td width="05%" align="left" class="SubTitulo">&nbsp;</td>
                                    <td width="05%" align="left" class="SubTitulo">&nbsp;</td>            
                                    <td width="10%" align="left" class="SubTitulo">&nbsp;</td>                    
                                </tr>                                        
                    <%
                            rsRota.MoveNext
                        wEnd
                        response.Write("Fim")
                        response.end()
                    %>

O response ante do while funciona marca inicio o do meio do while não entra e o ultimo funcinoa entendeu ?

Link para o comentário
Compartilhar em outros sites

  • 0

Por isso que eu havia desabilitado todos eles... terás que ir testando um por um até achar o erro... o importante é acima de tudo conseguir imprimir em tela pelo menos o resultado de uma consulta mais abrangente... depois comece a limitar essa consulta pouco a pouco... identificando pequenos erros... assim ficará mais fácil!

Tente desta forma como lhe sugeri... conforme forem surgindo dúvidas poste aqui!

É trabalhoso... mas daqui não vejo outra forma melhor para lhe ajudar!

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

cara é o seguinte eu mudei a conexao para ver o que ele tava trazendo com a Metodo RecordCount bom fiz o seguinte.

<%
        dim Conexao, strSql, strData
        call abreConexao()
        campos = "NoOs,DatCompromisso,DatSolicitada,idEmpresa,idTecnico,Status,HoraInicio,Dano

s"
        strSql = "Select " & campos & " from tabDTH where DatCompromisso = #" & cDate &"# order by idEmpresa,DatCompromisso"
        if rsRota.State=1 then rsRota.Close
        rsRota.Open strSql, Conexao,3 ,3
        response.Write(rsRota.RecordCount)
        response.End()  
    %>

Pra minha supresa ele trouxe quantidade 0 de registro resultudado não acha o registro na tabela. Bom fiz o seguinte fiz um select no proprio access do mesmo jeito que fiz aqui bom ele funcionou direitinho o que pode ser em ?

Link para o comentário
Compartilhar em outros sites

  • 0

Só debugando a query pra saber... eu acredito que o erro possa estar na clausula de where... datas invertidas ou coisa do tipo... faça assim:

strSql = "Select " & campos & " from tabDTH where DatCompromisso = #" & cDate &"# order by idEmpresa,DatCompromisso"
'inicio debug
response.write "strSql = " & strSql & "<BR>"
response.end
'fim debug

depois posta aqui o que imprimiu em tela...

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

campos = "NoOs,DatCompromisso,DatSolicitada,idEmpresa,idTecnico,Status,HoraInicio,Danos"    
        strSql = "Select " & campos & " from tabDTH where DatCompromisso = #" & CDate &"# order by idEmpresa,DatCompromisso"
        response.Write(strsql)
        response.End()

Deu o seguinte erro.

Erro de tempo de execução do Microsoft VBScript (0x800A01C2)

Número de argumentos incorreto ou atribuição de propriedade inválida: 'cDate'

Link para o comentário
Compartilhar em outros sites

  • 0

Uhmmm... bem que eu desconfiava... porque você esta usando cDate ali na sua query?

você quer comparar com a data atual, é isso? se for use date?

Cdate você poderá usar para formatar a sua data... trata-se de uma função...

teste, debugue e veja o que ocorre, postando aqui os resultados...

Link para o comentário
Compartilhar em outros sites

  • 0

bom acho que você não perceu eu estou quero que ele busque a data do sistema entende estou fazendo da seguinte forma perceba.

<%
        dim Conexao, strSql, strData
        call abreConexao()
        campos = "NoOs,DatCompromisso,DatSolicitada,idEmpresa,idTecnico,Status,HoraInicio,Danos"    
        strSql = "Select " & campos & " from tabDTH where DatCompromisso = #" & Date &"#"
        'response.Write(strsql)
        'response.End()
        rsRota.Open strSql, Conexao, 3 ,3
    %>

Link para o comentário
Compartilhar em outros sites

  • 0

Sim... mas perai... você havia postado o seguinte:

campos = "NoOs,DatCompromisso,DatSolicitada,idEmpresa,idTecnico,Status,HoraInicio,Dano

s"

strSql = "Select " & campos & " from tabDTH where DatCompromisso = #" & CDate &"# order by idEmpresa,DatCompromisso"

response.Write(strsql)

response.End()

Cdate é função! Cdate é uma coisa completamente diferente de date... por isso lhe sugeri a mudança! Não podes colocar cdate na sua clausula de where! não tem como funcionar...

depois de mudar de cdate para date o que aconteceu? o mesmo erro? e o resultado do debug ficou como? o que imprimiu em tela?

Link para o comentário
Compartilhar em outros sites

  • 0

Fiz da seguinte maneira perceba a diferença.

<!--#include file="strCon.asp"-->
    <%
        dim Conexao, strSql, strData
        call abreConexao()
        campos = "NoOs,DatCompromisso,DatSolicitada,idEmpresa,idTecnico,Status,HoraInicio,Danos"    
        strSql = "Select " & campos & " from tabDTH where DatCompromisso = #" & Date &"# order by idEmpresa,idDatCompromisso"
        rsRota.Open strSql, Conexao, 3 ,3
        response.Write(strsql & "<Br>" & rsRota.RecordCount)
        response.End()
    %>

o resultado foi o seguinte:

Select NoOs,DatCompromisso,DatSolicitada,idEmpresa,idTecnico,Status,HoraInicio,Danos from tabDTH where DatCompromisso = #11/12/2008# order by idEmpresa,DatCompromisso

0

Link para o comentário
Compartilhar em outros sites

  • 0

Bom pessoal postei um tópico sobre o comando select aqui que não funcionava bom descobri o erro a formatação da data coloquei assim '12/11/2008' , exemplo 'mm/dd/yyyy' bom troxe os meus dados bom verifiquei no painel de controle ele esta configurado certo 'dd/mm/yyyy' tentei fazer da seguinte maneira.

strDia = day(Date)
  strMes = month(Date)
  strAno = year(Date)
  strData = strMes & "\" & strDia & "\" & strAno
  campos = "NoOs,DatCompromisso,DatSolicitada,idEmpresa,idTecnico,Status,HoraInicio,Danos" 
  strSql = "Select * from tabDTH where DatCompromisso = #" & strData & "# order by IdEmpresa, DatCompromisso ASC"
  RESPONSE.Write(STRSQL1 & "<Br>" & STRSQL)
  'RESPONSE.END()
  set rsRota = Conexao.Execute(strSql)

Ele me da o seguinte erro agora.

[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe na data na expressão de consulta 'DatCompromisso = #12\11\2008#'.

se eu informar a data em vez de pegar a data do sistema ele traz o dado correto como resolver isso? :unsure:

Link para o comentário
Compartilhar em outros sites

  • 0

A primeira forma pra resolver isso é não postar tópicos repetidos, ou seja, tratando do mesmo assunto!

A segunda é separ a sua variavel data em dia, mês e ano e depois os unificar em uma string... invertendo o mes pelo dia...

exemplo:

data = date
dia = datepart ("d", data)
mes = datepart ("m", data)
ano = datepart ("yyyy", data)
novadata = (mes&"/"&dia&"/"&ano)

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...