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

Consulta em um banco de dados Access


Guest Visitante

Pergunta

Guest Visitante

Estou desenvolvendo um pequeno portal de relatório aonde eu tenho que fazer uma consulta em um banco de dados Access, até ai não é muito difícil. Mais eu não sei como fazer um filtro nesta pesquisa! Tipo assim data de inicio e data final ele tem que trazer todos os registros dentro deste período. Alguém pode me ajudar?

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Ola,

Tente fazer desta forma!

where data >= '"&request.Form("dtinicio")&" 00:00:00""' and data <='"&request.Form("dtfinal")& " 23:59:59""'

No lugar do request use sua data, mantenha a hora para identificar que é logo no começo do dia ou no final!

Qualquer duvida posta ae!

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Backer --

Bom para determinar o período da consulta vou contar com quatro campos type="text" que segue o script abaixo. Como vou pegar esta data e horário destes campos neste código?

Data/Hora do Registro:(inicio)<br>
<input type="text" name="dtiniregistro" size="8" class="combo" onKeyPress="funMascaraData(this);">&nbsp;-&nbsp;
<input type="text" name="hriniregistro" size="4" value="00:00" class="combo">&nbsp;&nbsp;
<input id="cmdIni" name="cmdIni" type="button" value="..." LANGUAGE="javascript" onClick="showCalendar('dtiniregistro')" class="combo">
<br>
Data/Hora do Registro:(fim)</font> <br>
<input type="text" name="dtfimregistro" size="8" class="combo" onKeyPress="funMascaraData(this);">&nbsp;-&nbsp;
<input type="text" name="hrfimregistro" size="4" value="23:59" class="combo">&nbsp;&nbsp;
<input id="cmdIni" name="cmdIni" type="button" value="..." LANGUAGE="javascript" onClick="showCalendar('dtfimregistro')" class="combo">

Link para o comentário
Compartilhar em outros sites

  • 0

Bom pessoal tenho que confessar que estol meio perdido vou postar o código abaixo. E o erro se alguém puder me ajudar sou muito grato.

Pagina de critério - data

<table width="816" border="0">
            <form name="form1" method="post" action="consulta.asp">
              <tr><td width="810" colspan="2" bgcolor="#F8FDEE"><img src="title_consulta de analise.gif" width="318" height="22"></td>
             </tr>
              <tr>
                <td height="32" background="fundo_lista.gif" bgcolor="#F8FDEE">
                  <div align="left"><span class="style1"> Data/Hora do Registro:(inicio)</span>
                    <input type="text" name="dtiniregistro" size="9" class="combo" onKeyPress="funMascaraData(this);"
                style="BORDER-RIGHT: #003300 1pt solid; BORDER-TOP: #003300 1pt solid; BORDER-LEFT: #003300 1pt solid; BORDER-BOTTOM: #003300 1pt solid; BACKGROUND-COLOR: #F8FDEE; FONT-FAMILY: verdana; FONT-SIZE: 10pt; COLOR: #597700">
                    <span class="style1">-                </span>
                    <input type="text" name="hriniregistro" size="4" value="00:00" class="combo" style="BORDER-RIGHT: #003300 1pt solid; BORDER-TOP: #003300 1pt solid; BORDER-LEFT: #003300 1pt solid; BORDER-BOTTOM: #003300 1pt solid; BACKGROUND-COLOR: #F8FDEE; FONT-FAMILY: verdana; FONT-SIZE: 10pt; COLOR: #597700">
                    <input id="cmdIni" name="cmdIni" type="button" value="..." LANGUAGE="javascript" onClick="showCalendar('dtiniregistro')" class="combo">
                    </span>        
                    <span class="style1">Data/Hora do Registro:(fim)</span>
                    <input type="text" name="dtfimregistro" size="9" class="combo" onKeyPress="funMascaraData(this);" style="BORDER-RIGHT: #003300 1pt solid; BORDER-TOP: #003300 1pt solid; BORDER-LEFT: #003300 1pt solid; BORDER-BOTTOM: #003300 1pt solid; BACKGROUND-COLOR: #F8FDEE; FONT-FAMILY: verdana; FONT-SIZE: 10pt; COLOR: #597700">
                    <span class="style1">-</span>
                    <input type="text" name="hrfimregistro" size="4" value="23:59" class="combo" style="BORDER-RIGHT: #003300 1pt solid; BORDER-TOP: #003300 1pt solid; BORDER-LEFT: #003300 1pt solid; BORDER-BOTTOM: #003300 1pt solid; BACKGROUND-COLOR: #F8FDEE; FONT-FAMILY: verdana; FONT-SIZE: 10pt; COLOR: #597700">
                 
                <input id="cmdIni" name="cmdIni" type="button" value="..." LANGUAGE="javascript" onClick="showCalendar('dtfimregistro')" class="combo">
  
<input type="image" name="botao" src="bot_gerar.jpg" border="0" align="absbottom"></div></td>
          </tr>
</form>
</table>
conect.inc
<%
'///////////////////////////////////////////////////////////////////////////////////
'connection string

Set MyConn=Server.CreateObject("ADODB.Connection")
MyConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("base.mdb")

'///////////////////////////////////////////////////////////////////////////////////


'///////////////////////////////////////////////////////////////////////////////////
'cleanup routines

Sub CleanUp(RS)
  RS.Close
  MyConn.Close
  Set RS = Nothing
  Set MyConn = Nothing
End Sub

Sub CleanUp2()
  MyConn.Close
  Set MyConn = Nothing
End Sub

'////////////////////////////////////////////////////////////////////////////////////
%>
Pagina de consulta
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#INCLUDE FILE="conect.inc"-->
<html>
<head>
<title>Extração de dados - BC</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
<!--
body,td,th {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px;
    color: #000000;
}
.style1 {color: #FFFFFF}
-->
</style></head>
<body>

    <table width="100%" border="1">
  <tr>
    <td bordercolor="#003300" bgcolor="#003300"><span class="style1">DATA</span></td>
    <td bordercolor="#003300" bgcolor="#003300"><span class="style1">RE</span></td>
    <td bordercolor="#003300" bgcolor="#003300"><span class="style1">Analista</span></td>
    <td bordercolor="#003300" bgcolor="#003300"><span class="style1">Numero - BC</span></td>
    <td bordercolor="#003300" bgcolor="#003300"><span class="style1">SETOR - BC</span></td>
    <td bordercolor="#003300" bgcolor="#003300"><span class="style1">LEGAL do Emitente</span></td>
    <td bordercolor="#003300" bgcolor="#003300"><span class="style1">STATUS - BC</span></td>
    <td bordercolor="#003300" bgcolor="#003300"><span class="style1">OBSERVAÇÃO</span></td>
    <td bordercolor="#003300" bgcolor="#003300"><span class="style1">ORIENTAÇÃO</span></td>
  </tr>
<%
SQL = "where data >= "&request.Form("dtiniregistro")&""&request.Form("hriniregistro")&""" and data <="&request.Form("dtfimregistro")& ""&request.Form("hrfimregistro")& "" From ANLISTA_BC Order By ID"
Set RS = MyConn.Execute(SQL)

While Not RS.EOF
  Response.Write "<form name=""Update"" method=""Post"">"
   %>
  <tr>
    <td bordercolor="#003300"><%=RS("DATA")%></td>
    <td bordercolor="#003300"><%=RS("RE")%></td>
    <td bordercolor="#003300"><%=RS("NOME")%></td>
    <td bordercolor="#003300"><%=RS("NUM_BC")%></td>
    <td bordercolor="#003300"><%=RS("SETOR")%></td>
    <td bordercolor="#003300"><%=RS("LEGAL")%></td>
    <td bordercolor="#003300"><%=RS("STATUS")%></td>
    <td bordercolor="#003300"><%=RS("OBSERVACAO")%></td>
    <td bordercolor="#003300"><%=RS("ORIENTACAO")%></td>
  </tr>
<%
  Response.Write "</form>"
  RS.MoveNext
Wend

CleanUp(RS)

%>
</table>

</body>
</html>

Mensagem de erro

Informações técnicas (para a equipe de suporte)

Tipo de erro:

Erro de compilação do Microsoft VBScript (0x800A0401)

Fim da instrução esperado

/consulta/consulta.asp, line 31, column 171

SQL = "where data >= "&request.Form("dtiniregistro")&""&request.Form("hriniregistro")&""" and data <="&request.Form("dtfimregistro")& ""&request.Form("hrfimregistro")& "" From ANLISTA_BC Order By ID"

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------^

Tipo de navegador:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.04506.30)

Página:

POST 122 bytes to /consulta/consulta.asp

POST Data:

dtiniregistro=01%2F02%2F2008&hriniregistro=00%3A00&dtfimregistro=29%2F02%2F2008&hrfimregistro=23%3A59&botao.x=27&botao.y=8

Hora:

quarta-feira, 12 de março de 2008, 21:25:17

Link para o comentário
Compartilhar em outros sites

  • 0

ao invés de fazer isso tudo usa o BETWEEN, e tá faltando coisa nesse SQL, cadê o SELECT??

faz tipo isso:

select * from tabela where data BETWEEN 'data_inicio' AND 'data_final'

lembrando que no ACCESS você usar o # para englobar as datas no SQL

uma dica:

não coloque sua conexão dentro de um arquivo .inc pois esses tipos de arquivos, sabendo seu nome podem ser baixados facilmentes!

Link para o comentário
Compartilhar em outros sites

  • 0

Modifique o código da pagina de consulta retirando a conexão pelo arquivo “conect.ini” e fazendo no script da própria pagina de consulta. Mais ainda esta dando erro.

Pagina de consulta

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<html>
<head>
<title>Extração de dados - BC</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
<!--
body,td,th {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px;
    color: #000000;
}
.style1 {color: #FFFFFF}
-->
</style></head>
<body>

    <table width="100%" border="1">
  <tr>
    <td bordercolor="#003300" bgcolor="#003300"><span class="style1">DATA</span></td>
    <td bordercolor="#003300" bgcolor="#003300"><span class="style1">RE</span></td>
    <td bordercolor="#003300" bgcolor="#003300"><span class="style1">Analista</span></td>
    <td bordercolor="#003300" bgcolor="#003300"><span class="style1">Numero - BC</span></td>
    <td bordercolor="#003300" bgcolor="#003300"><span class="style1">SETOR - BC</span></td>
    <td bordercolor="#003300" bgcolor="#003300"><span class="style1">LEGAL do Emitente</span></td>
    <td bordercolor="#003300" bgcolor="#003300"><span class="style1">STATUS - BC</span></td>
    <td bordercolor="#003300" bgcolor="#003300"><span class="style1">OBSERVA&Ccedil;&Atilde;O</span></td>
    <td bordercolor="#003300" bgcolor="#003300"><span class="style1">ORIENTA&Ccedil;&Atilde;O</span></td>
  </tr>
<%
Set MyConn=Server.CreateObject("ADODB.Connection")
MyConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("base_bd.mdb")
  SQL = "select * from ANLISTA_BC where data BETWEEN "&request.Form("dtiniregistro")&""&request.Form("hriniregistro")&""" and data <="&request.Form("dtfimregistro")& ""&request.Form("hrfimregistro")& " Order By ID"
Set RS = MyConn.Execute(SQL)

While Not RS.EOF
  Response.Write "<form name=""Update"" method=""Post"">"
   %>
  <tr>
    <td bordercolor="#003300"><%=RS("DATA")%></td>
    <td bordercolor="#003300"><%=RS("RE")%></td>
    <td bordercolor="#003300"><%=RS("NOME")%></td>
    <td bordercolor="#003300"><%=RS("NUM_BC")%></td>
    <td bordercolor="#003300"><%=RS("SETOR")%></td>
    <td bordercolor="#003300"><%=RS("LEGAL")%></td>
    <td bordercolor="#003300"><%=RS("STATUS")%></td>
    <td bordercolor="#003300"><%=RS("OBSERVACAO")%></td>
    <td bordercolor="#003300"><%=RS("ORIENTACAO")%></td>
  </tr>
<%
  Response.Write "</form>"
  RS.MoveNext
Wend

CleanUp(RS)

%>
</table>

</body>
</html>

Erro na pagina

Microsoft VBScript runtime error '800a01a8'

Object required: ''

/sistema/sistem/consulta.asp, line 33

Observação:

A LINHA 33 = Set RS = MyConn.Execute(SQL)

O link da pagina é http://www.webmonter.com/sistema/sistem/consutor.asp e só tem registro do dia 01/02/2008 até 29/02/2008 na base de dados. E no banco de dados a data esta junto há horas na mesma célula.

Editado por backer
Link para o comentário
Compartilhar em outros sites

  • 0

rapaz, coloque a data completa e você não dividiu as datas corretamente, e não fez o que eu postei

você ainda adiconou o data <=, no que coloquei não existe isso:

coloque sua data nesse formato de exemplo:

data1 = Request.Form("dia1")&"/"&Request.Form("mes1")&"/"&Request.Form("ano1")

data2 = Request.Form("dia2")&"/"&Request.Form("mes2")&"/"&Request.Form("ano2")

SQL = "select * from ANLISTA_BC where data BETWEEN '"&data2&"' And '"&data2&"' Order By ID"

é só um exemplo!

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...