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

Busca por períodos!


Vagner Nunes

Pergunta

Prezados,

Boa tarde... Gostaria da ajuda dos senhores. Precisava fazer uma busca de registro por períodos.

Ex.: 14/01/2009 até 01/04/2009 >> fazer uma busca dos registros cadastrados entre os período de janeiro a abril.

Algum exemplo de campos de periodo inicial e periodo final.

Como posso fazer isso?

Sds,

Vagner Nunes

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

Prezados,

Vocês poderiam me explicar melhor como usar o BETWEEN, fiz umas pesquisas e achei esta linha abaixo:

SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2

Porém gostaria de saber como posso fazer para value1 e value2 busque o que for digitado nos campos de formulário de busca.

nome dos campos é datainicial e datafinal.

Sds,

Vagner Nunes

Link para o comentário
Compartilhar em outros sites

  • 0

Prezado,

Poderia me explicar melhor como devo proceder, usando o request.form("campo") e como devo preencher os valores:

SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2

Se puder me ajudar, seria muito grato.

Sds,

Vagner Nunes

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

  • 0

Olá Vagner...

O esquema é este mesmo que você colocou...

Voce tem um campo data inicial e um data final em seu formulario certo?

vai ficar mais ou menos assim seu select :

SELECT * FROM nome_da_sua tabela WHERE nome_do_campo_que_esta_a_data_no_bd BETWEEN #"& Request.Form("datainicial") &"# AND #"& Request.Form("datafinal") &"# ""

Qualquer duvida... poste o codigo =)

Link para o comentário
Compartilhar em outros sites

  • 0

Queria saber, se este SELECT abaixo está correto:

"SELECT * FROM academico WHERE data >=#"&Request.Form("datainicial") & "# AND data <=#"& Request.Form("datafinal")&"#"

Testei, ele digitando as datas diretamente, ele buscou no access e funcinou, daí inseri o Request.Form("campo"), daí deu erro. A algo de errado?

Sds,

Vagner Nunes

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

  • 0

Prezado,

Este SELECT "SELECT * FROM academico WHERE data between #"&Request.Form("datainicial") & "# AND #"& Request.Form("datafinal")&"#" está aprsentando o seguinte erro:

Microsoft JET Database Engine erro '80040e07'

Erro de sintaxe na data na expressão de consulta 'data between ## AND ##'.

/curriculo/administracao/busca_academico_periodos.asp, line 33

Sds,

Vagner Nunes

Link para o comentário
Compartilhar em outros sites

  • 0

Prezados,

Tenho um código de busca aqui que funciona e busca em um só campo, porém tentei modifica-lo, mas apareceu o se guinte erro:

Microsoft OLE DB Provider for ODBC Drivers erro '80040e14'

[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe na data na expressão de consulta 'data between #10# AND #10#'.

/curriculo/administracao/busca.asp, line 9

Segue abaixo o código completo da página de resultado:

<%
vdtInicial = request.form("datainicial")
vdtFinal = request.form("datafinal")

DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtemp=dsntemp & "DBQ=" & server.mappath("../bd/curriculos.mdb")
sqlstmt = "SELECT * FROM academico WHERE data between #"&vdtInicial&"# AND #"&vdtFinal&"#"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sqlstmt, DSNtemp, 3, 3
totalrecs = rs.recordcount

x = 0 
for x = 1 to totalrecs
if rs.eof then
exit for
else

nome = rs("nome")
cpf = rs("cpf")
email = rs("email")
telefone = rs("telefone")
bairro = rs("bairro")
estado = rs("estado")
%>
<b>Nome:</b> <%=nome%>
<br>
<b>CPF:</b> <%=cpf%>
<br>
<b>email:</b> <%=email%>
<br>
<b>Telefone:</b> <%=telefone%>
<br>
<b>Bairro:</b> <%=bairro%>
<p>
<% rs.MoveNext %>
<% end if
next
%>

Link para o comentário
Compartilhar em outros sites

  • 0

o problema esta nas variaveis:

vdtInicial = request.form("datainicial")
vdtFinal = request.form("datafinal")

conforme a query, elas estão vindo incompletas do form...

entenda que para usar between você precisa ter intervalo entre duas datas completas... ex.: 10/05/09 à 10/06/09.

Sacou?

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

Prezados,

Agora funcionou beleza aqui, porém gostaria de saber porque ele só faz busca se a data estiver no formato: mm/dd/aaaa, gostaria que fosse feito a pesquisa no nosso padrão dd/mm/aaaa.

Como faço para a busca ser feita neste padrão?

Sds,

Vagner Nunes

Link para o comentário
Compartilhar em outros sites

  • 0

Legal... poisé... esse problema com datas é constante... depende de vários fatores, configuração do bd, do servidor e do app...

Nem sempre é problema na programação... muitas vezes pode ser problema de configuração no server...

No DataCenter que eu uso acontece a mesma coisa... e local funciona perfeito... o que me faz ter certeza de que é algum probleminha lá.

Eu já nem esquento mais com isso... chega na consulta boto no formato americano e depois volto pro brazuca!

Mas não descartaria fatores de erros no APP ou no BD... vale dar uma investigadinha nisso!

Abração

Editado por 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,2k
    • Posts
      651,9k
×
×
  • Criar Novo...