Buscar

Pesquisa com comando sql entre datas utilizando um adoquery

Código

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)+ '#)');


é Bemm besta... mas fununcia...

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Banco de dados
Adicionada dia: 20/08/08
Por: MR. CMX
Visualizada: 14117 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009