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

Between Com Data NÃo Funciona... (AUTORESOLVIDO)


Alessandro

Pergunta

   Query1.Close;
   Query1.SQL.Clear;
   Query1.SQL.Add('SELECT CodPart,OS, Imei, AP, Defeito, Motivo, Data FROM DbCadOSCancel.db WHERE Data BETWEEN :data1 AND :data2');
   Query1.parambyname('data1').AsString := (Edit2.text);
   Query1.parambyname('data2').AsString := (Edit3.text);
   Query1.Open;

Como eu havia postado anteriormente, meu código para consulta entre datas está como o código acima...eu achei que tinha resolvido adaptando uma dica que o corposemalma postou...mas só funciona com idade.....com data apresentou problemas.....

O problema surgiu depois de alguns testes...percebi que a Query só compara os dias e ignora o mês e ano, ou seja :

Se eu consulto 01/08/2004 a 30/08/2004

o dbgrid mostra tudo entre o dia 01 até o dia 31 sem validar o mês e o ano, seja mês 07, mês 06 e assim sucessivamente.

Alguém o que devo fazer para melhorar este código... wink.gif

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Tenta isso amigo:

Query1.Close;

Query1.SQL.Clear;

Query1.SQL.Add('SELECT CodPart,OS, Imei, AP, Defeito, Motivo, Data FROM DbCadOSCancel.db');

Query1.SQL.Add('WHERE Data BETWEEN '+''''+StrToDate(Edit2.Text)+'AND'+''''+ StrToDate(Edit3.Text)+''''+'');

Query1.Open;

wink.gif

Descupe amigo mas quis dizer isso:

Query1.Close;

Query1.SQL.Clear;

Query1.SQL.Add('SELECT CodPart,OS, Imei, AP, Defeito, Motivo, Data FROM DbCadOSCancel.db');

Query1.SQL.Add('WHERE Data BETWEEN '+''''+StrToDate(Edit2.Text)+''''+' AND '+''''+StrToDate(Edit3.Text)+''''+'');

Query1.Open;

Link para o comentário
Compartilhar em outros sites

  • 0

valeu mesmo cara, fiz alguns testes mudando para date :

  
   Query1.Close;
   Query1.SQL.Clear;
   Query1.SQL.Add('SELECT CodPart,OS, Imei, AP, Defeito, Motivo, Data FROM DbCadOSCancel.db WHERE Data BETWEEN :data1 AND :data2');
   Query1.parambyname('data1').AsDate := strtodate(Edit2.text);
   Query1.parambyname('data2').AsDate := strtodate(Edit3.text);
   Query1.Open;

O erro está no BD, eu criei o tipo da variável como ALPHA e não DATE....valeu....

Fechou.....

O seu código funcionou também.....

Abraços biggrin.gif

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...