Pesquisa com comando sql entre datas utilizando um adoquery
Uso Access e Delphi 2007
Sempre q executo uma consulta entre um intervalo de datas, a consulta volta em branco...
Quando se fala em uma SQL e datas, existe uma inversão entre o dia e o mês da data...
Como no Brasil estamos acostumados a utilizar DD/MM/AAAA...
Ja em uma consulta SQL o formato é MM/DD/AAAA...
Entao ha a necessidade de se trocar o dia com o mes de lugar nesse parametro
[de Data] q iremos passar à consulta...
Escrevi uma função q faz isso...
Function INVERTEDATA(Data: String ): String; Begin if Length(Data) <> 10 Then Begin
Application.MessageBox('Data Inválida.', 'ATENÇÃO', MB_IconExclamation);
Exit; End;
Result:= Data[4] + Data[5] + '/' + Data[1] + Data[2] + '/' + Data[7] + Data[8] + Data[9] + Data[10]; End;
Poderia utiliza por exemplo...
ADOQuery1.SQL.Add('SELECT * FROM Funcionario WHERE Data BETWEEN(#' + INVERTEDATA(DateToStr(Hoje)) + '#) AND (#' + DateToStr(Amanha)+ '#)');