Jump to content
Fórum Script Brasil
  • 0

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


Alessandro
 Share

Question

   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 to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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

Link to comment
Share on other sites

  • 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 to comment
Share on other 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 to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share



  • Forum Statistics

    • Total Topics
      150.7k
    • Total Posts
      648.5k
×
×
  • Create New...