Filtro entre duas datas ( o q tem errado)

13/05/2003

0

procedure Tfrmrelpadrao2.SpeedButton1Click(Sender: TObject);
var
inicio,final:string;
begin
If Datafinal.Date < Datainicial.Date Then
begin
ShowMessage(´Intervalo de datas inválido, a data inicial é maior que a data final!´);
Datafinal.Date := Datainicial.Date;
end
Else
begin
Inicio := DateToStr(Datainicial.Date);
Final := DateToStr(Datafinal.Date);
frmRelcombustivel.relcombustivel.Close;
frmRelcombustivel.relcombustivel.SQL.Clear;
frmRelcombustivel.relcombustivel.SQL.Text := ´select * from combustivel WHERE dataabastecimento >=:pInicial and dataabastecimento <=:pFinal ORDER BY chave_combustivel´;
frmRelcombustivel.relcombustivel.Parameters.ParamByName(´pinicial´). := StrToDate(Inicio);
frmRelcombustivel.relcombustivel.Parameters.ParamByName(´pfinal´) := StrToDate(Final);
frmRelcombustivel.relcombustivel.Prepared;
frmRelcombustivel.relcombustivel.Open;
end;
end;

_______________________________________________________
O problema ta no parametro pois nao consigo que ele fique assim:
Relcombustivel.relcombustivel.Parameters.ParamByName(´pfinal´).[b:67e62b417d][color=red:67e62b417d]asstring[/color:67e62b417d][/b:67e62b417d] := StrToDate(Final);

este codigo fica em um form de chamada de um relatorio onde tenho de filtrar entre duas datas alguem sabe como posso fazer , lembrando que a adoquery esta no qreport e nao no form de chamada.


Valeu


Neomid :twisted:


Neomid

Neomid

Responder

Posts

13/05/2003

Xanatos

o problema é que vc usa asstring:= StroToDate(), a assim atribuindo uma data em ve de uma string..


Responder

13/05/2003

Th_moreira

Os valores dos parâmetros são alterados através da propriedade Value

Estes tem que possuir o mesmo tipo de dados da coluna, ou vc. terá que fazer queries com CAST

Sds.

Thiago.


Responder

13/05/2003

Neomid

mas o problema e que no final (Parameters.ParamByName(´pfinal´).)
depois deste ponto nao aparece uma destincao de que tipo o parametro é exemplo :
Parameters.ParamByName(´pfinal´).asstring
Parameters.ParamByName(´pfinal´).asdatetime
ele nao me mostra informacoes como esta o mais proximo que consegui foi
Parameters.ParamByName(´pfinal´).value
mas assim achu q ta dando pau

Valeu

Neomid :roll:


Responder

13/05/2003

Xanatos

por que nao usa assim:

frmRelcombustivel.relcombustivel.params[0].asstring:= Inicio;
frmRelcombustivel.relcombustivel.Params[1].asstring := Final;
frmRelcombustivel.relcombustivel.Prepare;
frmRelcombustivel.relcombustivel.Open;


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar