Filtro entre datas e operador
Caros colegas, estou com um problema com o meu terceiro parametro da busca gostaria de saber o que poderia estar de errado com o meu código.
Como podem ver são 3 parametros 2 recebendo datas inicia e finais e um outro e receber um valor inteiro para definir o tipo de operador..
EX :
OP1 = CAIXA 01 - CODIGO 1
OP2 = ADMINISTRAÇÂO - CODIGO 2
antes só tinha a opção de datas que fuciona perfeitamente, implementei a linha do OPERADOR bem como seu parametro..más dá erro.
más o código só recebe o numero do ID_LANCAMENTO qué é justamento o código de cada operador. está dando list of index out.. se alguém puder dá uma força..desde já agradeço..
with TClientDataset(Dts_PescCaixa.DataSet) do
begin
Close;
CommandText := 'select * from CAIXA where DATA_CAD between :de and :ate';
CommandText := 'and (OPERADOR like :OPERADOR)';
Params[0].AsDate := DataIni;
Params[1].AsDate := DataFin;
Params[2].AsInteger := TClientDataset(Dts_LancamentoBusca.DataSet).FieldByName('ID_LANCAMENTO').AsInteger;
Open;
end;
end;
Como podem ver são 3 parametros 2 recebendo datas inicia e finais e um outro e receber um valor inteiro para definir o tipo de operador..
EX :
OP1 = CAIXA 01 - CODIGO 1
OP2 = ADMINISTRAÇÂO - CODIGO 2
antes só tinha a opção de datas que fuciona perfeitamente, implementei a linha do OPERADOR bem como seu parametro..más dá erro.
más o código só recebe o numero do ID_LANCAMENTO qué é justamento o código de cada operador. está dando list of index out.. se alguém puder dá uma força..desde já agradeço..
Gilmar Moraes
Curtidas 0
Respostas
Gilmar Moraes
01/09/2013
Depois de fazer algumas pesquisas achei a solução..vlw e t+
procedure TFCadCaixa.SpeedButton1Click(Sender: TObject);
Var
DataIni,DataFin: TDate;
begin
DataIni := EdiDataIni.Date;
DataFin := EdiDataFinal.date;
if DataFin < DataIni Then
begin
ShowMessage('Intervalo de datas inválido, a data inicial é maior que a data final!');
end
else
begin
with TClientDataset(Dts_PescCaixa.DataSet) do
begin
Close;
CommandText := 'select * from CAIXA where DATA_CAD between :de and :ate and (OPERADOR Like :OPERADOR)';
Params[0].AsDate := DataIni;
Params[1].AsDate := DataFin;
Params[2].AsInteger := TClientDataset(Dts_LancamentoBusca.DataSet).FieldByName('ID_LANCAMENTO').AsInteger;
Open;
end;
end;
end;
GOSTEI 0