Filtragem de Registro por Datas
Amigos, como faço para fazer esta mesma pesquisa abaixo através de uma tabela ?
Ou seja, ao Invés de usar uma QUERY, usar uma TABELA.
Ou seja, ao Invés de usar uma QUERY, usar uma TABELA.
// TOTAL SOCORRO
with Sql_Total_socorro do
begin
close;
sql.Clear;
sql.Add('select * from tbl_local');
sql.Add('where data between :data_ini and :data_fim ');
ParamByName('data_ini').Value:=FormatDateTime('yyyy-mm-dd',data_ini.date);
ParamByName('data_fim').Value:=FormatDateTime('yyyy-mm-dd',data_fim.date);
open;
FetchAll;
end;Adailso Cosme
Curtidas 0
Respostas
Jerson Boer
08/04/2018
Para fazer uso de filtro em componente de tabela, você vai passar as condições no parâmetro Filter e ativar também o parâmetro Filtered, exemplo:
(Data >= X AND Data <= Y) AND (....)
Sem colocar "where", somente os parâmetros de filtro.
(Data >= X AND Data <= Y) AND (....)
Sem colocar "where", somente os parâmetros de filtro.
GOSTEI 0
Adailso Cosme
08/04/2018
Pode ser mais específico ?
Sou novo ....
Sou novo ....
GOSTEI 0
Adailso Cosme
08/04/2018
var<br />
filtro:string;<br />
begin<br />
Filtro := ''Select * From tbl_local'';<br />
Filtro := Filtro+'' where data between :data_ini and :data_fim'';<br />
dm.tbl_local.SQL.Clear;<br />
dm.tbl_local.SQL.ADD(Filtro);<br />
dm.tbl_local.ParamByName(''data_ini'').Value:=FormatDateTime(''yyyy-mm-dd'',data_ini.date);<br />
dm.tbl_local.ParamByName(''data_fim'').Value:=FormatDateTime(''yyyy-mm-dd'',data_fim.date);<br />
dm.tbl_local.Open;<br />
end;<br />
<br />
<br />
JÁ TENTEI.......
filtro:string;<br />
begin<br />
Filtro := ''Select * From tbl_local'';<br />
Filtro := Filtro+'' where data between :data_ini and :data_fim'';<br />
dm.tbl_local.SQL.Clear;<br />
dm.tbl_local.SQL.ADD(Filtro);<br />
dm.tbl_local.ParamByName(''data_ini'').Value:=FormatDateTime(''yyyy-mm-dd'',data_ini.date);<br />
dm.tbl_local.ParamByName(''data_fim'').Value:=FormatDateTime(''yyyy-mm-dd'',data_fim.date);<br />
dm.tbl_local.Open;<br />
end;<br />
<br />
<br />
JÁ TENTEI.......
GOSTEI 0
Emerson Nascimento
08/04/2018
Qual é o banco de dados utilizado?
Os campos da tabela são tipo data? timestamp?
Quando trabalhar com datas, não use a propriedade Value. Seja mais específico:
Use AsDateTime ou AsSQLTimeStamp (em conjunto com a função DateTimeToSQLTimeStamp, da unit SqlTimSt)
ou
Os campos da tabela são tipo data? timestamp?
Quando trabalhar com datas, não use a propriedade Value. Seja mais específico:
Use AsDateTime ou AsSQLTimeStamp (em conjunto com a função DateTimeToSQLTimeStamp, da unit SqlTimSt)
dm.tbl_local.ParamByName(''data_ini'').AsDateTime := data_ini.date;
dm.tbl_local.ParamByName(''data_fim'').AsDateTime := data_fim.date;ou
dm.tbl_local.ParamByName(''data_ini'').AsSQLTimeStamp := DateTimeToSQLTimeStamp(data_ini.date);
dm.tbl_local.ParamByName(''data_fim'').AsSQLTimeStamp := DateTimeToSQLTimeStamp(data_fim.date);GOSTEI 0
Adailso Cosme
08/04/2018
Tipo date.
GOSTEI 0
Adailso Cosme
08/04/2018
A filtragem por uma Query fica perfeito, acontece que ao abrir o relatorio FastReport, as integridades referenciais não permanecem.
No DBGrid ficam perfeitas...
No DBGrid ficam perfeitas...
GOSTEI 0