Fórum instr sql que filtre adoquery por uma data do DateTimePicker #288336
17/07/2005
0
teria alguma intrução sql que o adoquery ja filtre a tabela pela data de um DateTimePicker?
Ex
[color=red:df05d651ec]Select * from tabela
where (alguma coisa que filtre um campo pela data de um DateTimePicker)[/color:df05d651ec]
tou com um problema! preciso filtrar um adoquery, só que ele é ´Detalhe´ de outra tabela e tento filtar e sempre recebo a informação de que não posso filtrar um tb detalhe!
o que fazer?
me ajudem por favor sou iniciante e estou apanhando pra c...
grato,
Adriano.
Ex
[color=red:df05d651ec]Select * from tabela
where (alguma coisa que filtre um campo pela data de um DateTimePicker)[/color:df05d651ec]
tou com um problema! preciso filtrar um adoquery, só que ele é ´Detalhe´ de outra tabela e tento filtar e sempre recebo a informação de que não posso filtrar um tb detalhe!
o que fazer?
me ajudem por favor sou iniciante e estou apanhando pra c...
grato,
Adriano.
Xadriano
Curtir tópico
+ 0
Responder
Posts
17/07/2005
Mmtoor
Var
Inicio: String;
Final: String;
begin
If Datetimepicker2.Date < Datetimepicker1.Date Then
begin
ShowMessage(´Intervalo de datas inválido, a data inicial é maior que a data final!´);
Datetimepicker2.Date := Datetimepicker1.Date;
end
Else
begin
Inicio := DateToStr(Date1.Date);
Final := DateToStr(Date2.Date);
datamodule1.query1.Close;
datamodule1.query1.SQL.Clear;
datamodule1.query1.SQL.Text := ´SELECT * FROM tabela WHERE data >=:pInicial and data<=:pFinal ORDER BY codigo DESC´;
datamodule1.query1.ParamByName(´pInicial´).AsDateTime := StrToDate(Inicio);
datamodule1.query1.ParamByName(´pFinal´).AsDateTime := StrToDate(Final);
datamodule1.query1.Prepare;
datamodule1.query1.Open;
dbgridest.SetFocus;
Label1.caption := ´Registros: ´ + IntToStr(qryest.RecordCount);
end;
Inicio: String;
Final: String;
begin
If Datetimepicker2.Date < Datetimepicker1.Date Then
begin
ShowMessage(´Intervalo de datas inválido, a data inicial é maior que a data final!´);
Datetimepicker2.Date := Datetimepicker1.Date;
end
Else
begin
Inicio := DateToStr(Date1.Date);
Final := DateToStr(Date2.Date);
datamodule1.query1.Close;
datamodule1.query1.SQL.Clear;
datamodule1.query1.SQL.Text := ´SELECT * FROM tabela WHERE data >=:pInicial and data<=:pFinal ORDER BY codigo DESC´;
datamodule1.query1.ParamByName(´pInicial´).AsDateTime := StrToDate(Inicio);
datamodule1.query1.ParamByName(´pFinal´).AsDateTime := StrToDate(Final);
datamodule1.query1.Prepare;
datamodule1.query1.Open;
dbgridest.SetFocus;
Label1.caption := ´Registros: ´ + IntToStr(qryest.RecordCount);
end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)