Fórum FILTRAGEM DE TABELA ENTRE DATAS #592382
11/04/2018
0
Os componentes que uso são dois TDataTime.date.
tbl_local.filter := 'Data BETWEEN' + data_ini.date +' AND ' + data_fim.date;
Só que a filtragem não ocorre. Nada acontece. Também sei que é necessário formatar os campos para Formato Mysql=> yyy/mm/yy.
Alguém pode me ajudar. Já estou perdendo muito tempo e não sei como resolver.
Adailso Cosme
Curtir tópico
+ 0Posts
11/04/2018
Natanael Ferreira
tbl_local.Filtered := False;
tbl_local.filter := 'Data BETWEEN ' + QuotedStr(FormatDateTime('mm/dd/yyyy', data_ini)) +
' AND ' + QuotedStr(FormatDateTime('mm/dd/yyyy', data_fim));
tbl_local.Filtered := True;Gostei + 0
12/04/2018
Adailso Cosme
tbl_local.Filtered := False;
tbl_local.filter := 'Data BETWEEN ' + QuotedStr(FormatDateTime('mm/dd/yyyy', data_ini)) +
' AND ' + QuotedStr(FormatDateTime('mm/dd/yyyy', data_fim));
tbl_local.Filtered := True;
Não deu certo!
bl_local.Filtered := False;
tbl_local.filter := 'Data BETWEEN ' + QuotedStr(FormatDateTime('mm/dd/yyyy', data_ini.date)) +
' AND ' + QuotedStr(FormatDateTime('mm/dd/yyyy', data_fim.date));
tbl_local.Filtered := True;
Pode me ajudar mais?
Gostei + 0
12/04/2018
Natanael Ferreira
Verifique qual é o formato das datas do banco.
Se o formato for este yyyy-mm-dd, teste o código abaixo:
tbl_local.Filtered := False;
tbl_local.filter := 'Data BETWEEN ' + QuotedStr(FormatDateTime('yyyy-mm-dd', data_ini)) +
' AND ' + QuotedStr(FormatDateTime('yyyy-mm-dd', data_fim));
tbl_local.Filtered := True;Gostei + 0
13/04/2018
Adailso Cosme
Gostei + 0
13/04/2018
Adailso Cosme
tbl_local.filter := 'Data BETWEEN ' + QuotedStr(FormatDateTime('yyyy-mm-dd', data_ini.date)) +
' AND ' + QuotedStr(FormatDateTime('yyyy-mm-dd', data_fim.date));
Acrescentei o .date....
Agora o MySql esta apresentando erro de expressão.
Gostei + 0
13/04/2018
Adailso Cosme
procedure Tfrm_relatorio.filtrarClick(Sender: TObject);
var
filtro:string;
begin
Filtro := 'Select * From tbl_local';
Filtro := Filtro+' and Data >= :pData1 and Data <= :pData2';
dm.tbl_local.SQL.Clear;
dm.tbl_local.SQL.ADD(Filtro);
dm.tbl_local.ParamByName('pData1').AsString := FormatDateTime('yyyy-mm-dd',Data_ini.Date);
dm.tbl_local.ParamByName('pData2').AsString := FormatDateTime('yyyy-mm-dd',data_fim.Date);
dm.tbl_local.Open;
end;
Nada acontece. A grid mostra tudo!!
Gostei + 0
14/04/2018
Adailso Cosme
A query funciona perfeitamente, porém na impressão do FastReport fica uma bagunça.
Ja a Ttable as integidades permanecem.
Obrigado a todos!!
Mas desisto!!
A filtragem entre datas numa Ttable, no delphi, é muito limitada.
Gostei + 0
14/04/2018
Adailso Cosme
Verifique qual é o formato das datas do banco.
Se o formato for este yyyy-mm-dd, teste o código abaixo:
tbl_local.Filtered := False;
tbl_local.filter := 'Data BETWEEN ' + QuotedStr(FormatDateTime('yyyy-mm-dd', data_ini)) +
' AND ' + QuotedStr(FormatDateTime('yyyy-mm-dd', data_fim));
tbl_local.Filtered := True;Gostei + 0
14/04/2018
Adailso Cosme
A query funciona perfeitamente, porém na impressão do FastReport fica uma bagunça.
Ja a Ttable as integidades permanecem.
Obrigado a todos!!
Mas desisto!!
A filtragem entre datas numa Ttable, no delphi, é muito limitada.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)