PROBLEMAS COM DATA NO SQL
Estou inserindo o seguinte código SQL na minha aplicação:
As data variam, porém quando insiro, por exemplo, a data 1/10/2009 ele interpreta 10/1/2009. Isto é, ele troca o dia e o mês. Porém quando insiro uma data onde a troca do dia e mês é uma data inválida ele aceita a data inicial, por exemplo, 31/10/2009, esta data ele aceita. Quem pode me dar uma ajuda?
SELECT Ponto.* FROM Ponto WHERE (((Ponto.[cod])=2) AND ((Ponto.[Data])>=#10/1/2009# And (Ponto.[Data])<=#10/31/2009#) AND ((Ponto.[Turno])=1))
As data variam, porém quando insiro, por exemplo, a data 1/10/2009 ele interpreta 10/1/2009. Isto é, ele troca o dia e o mês. Porém quando insiro uma data onde a troca do dia e mês é uma data inválida ele aceita a data inicial, por exemplo, 31/10/2009, esta data ele aceita. Quem pode me dar uma ajuda?
Isso depende do formato em que vc passa a data. Vc precisa passar sempre no formato: MM/dd/yyyy, sendo que os dias vc sempre informará o no formato 00 e o mês no formato 0, ou seja: 10/01/2009 -> 01-oct-2009 1/10/2009 -> 10-jan-2009 1/31/2009 - 31-jan-2009.
No seu exemplo, como vc está informando #10/1/2009# o sistema interpreta que o mês está no meio, pois está no formato 0. O correto seria #10/01/2009# .
Tente aà que vai dar certo.
No seu exemplo, como vc está informando #10/1/2009# o sistema interpreta que o mês está no meio, pois está no formato 0. O correto seria #10/01/2009# .
Tente aà que vai dar certo.
Este código está numa aplicação onde das data variam e quando se insere a data o código é interpretado trocando o dia e o mês.
Você está FORMATANDO a data antes de passá-la à QUERY?
Utilizo o código
CDate()
para formatar as datas.
Experimente o Format(Data, [Ô]mm/dd/yyyy[Ô]) no lugar do CDate e retorne o resultado.
Valeu!! Deu certo!!
Tópico encerrado , respostas não são mais permitidas