Ir para conteúdo

POWERED BY:

Arquivado

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

Maicon Alvim

Erro de busca (entre datas)

Recommended Posts

Pessoal, bom dia!

 

Ontém postei uma dúvida sobre buscas com intervalo de data...ok, "resolvido"!

 

Agora o problema é o seguinte, quando faço a busca ele me retorna valores menores que o solicitado na data inicial, por exemplo:

 

entre 10/02/2010 e 15/02/2010, ele retornar os valores anteriores a data inicial.

 

Isso deve ser por que no código eu peço os valores iguais e maiores a data inicial e os menores e iguais a data final...mas nao sei como solicitar de outra forma.

 

Alguém pode me dar uma luz?

 

Segue o código.

 

Sql = "SELECT * FROM duplicata"

 

If vartipo = "periodo" Then

 

Sql = Sql & " WHERE (vencimento >= '"& varcriterio &"') AND (vencimento <= '"& varcriterio02 &"')"

 

End If

 

Obrigado.

 

Maicon Alvim

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta usar o between

set rs=Server.CreateObject("ADODB.Recordset")
  'crio o SQL
  SQL="SELECT * FROM login Where codigo between "&data1&" AND "&data2&""
  rs.open SQL,conexao,1,3

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, bom dia!

 

Ontém postei uma dúvida sobre buscas com intervalo de data...ok, "resolvido"!

 

Agora o problema é o seguinte, quando faço a busca ele me retorna valores menores que o solicitado na data inicial, por exemplo:

 

entre 10/02/2010 e 15/02/2010, ele retornar os valores anteriores a data inicial.

 

Isso deve ser por que no código eu peço os valores iguais e maiores a data inicial e os menores e iguais a data final...mas nao sei como solicitar de outra forma.

 

Alguém pode me dar uma luz?

 

Segue o código.

 

Sql = "SELECT * FROM duplicata"

 

If vartipo = "periodo" Then

 

Sql = Sql & " WHERE (vencimento >= '"& varcriterio &"') AND (vencimento <= '"& varcriterio02 &"')"

 

End If

 

Obrigado.

 

Maicon Alvim

 

Fiz uma mudança, inclui o CDate:

 

Sql = Sql & " WHERE (vencimento >= '"& CDate(varcriterio) &"') AND (vencimento <= '"& CDate(varcriterio02) & "')"

 

Porém a impressão que dá é que ele pega somente o intervalo de dias e nem considera o mês e o ano:

 

no caso se faço a busca 14/04/2010 a 16/04/2010 ele dá como resultado os dia 14, 15 e 16 mas de qualquer mês e ano.

 

Como resolver, podem me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você fez com between ???

converte antes de passar o valor para a instrução sql, na página que recebe os dados do form

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessol, fiz as mudanças só que agora dá um erro.

 

O código está assim:

 

Sql = "SELECT * FROM duplicata WHERE vencimento between "&varcriterio&" AND "&varcriterio02&""

 

erro:

 

Erro de sintaxe (operador faltando) na expressão de consulta 'codigo between AND'.

 

Obrigado.

 

Maicon Alvim

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, descuplem....

 

Agora rolou, tinha um código a mais aqui, por isso o erro.

 

Mas...rsrs acontece o seguinte, quando digito uma data inicial começando com 01 ele não traz nenhum resultado..

 

Oq pode ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

dependendo do db deve o formato da data que está passando errado

Compartilhar este post


Link para o post
Compartilhar em outros sites

poste o erro , que aconteceu de acordo com o post #5

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.