Preciso fazer um relatório entre datas e ele deve ter uma condição para somar os valores de CAIENT quando o campo CAIDIN tiver o valor 'X'
A parte de datas eu já resolvi...mas preciso de ajuda na parte da soma condicional, que não consigo de jeito nenhum..
Meu código está assim:
procedure TfrmSenha.Button1Click(Sender: TObject);
var
totalDin : real;
begin
dm.RvPrjCaixa.SetParam('DataI',txtDataIni.Text);
dm.RvPrjCaixa.SetParam('DataF',txtDataFin.Text);
with dm.QueryRelCaixa do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM ESTACAI.dbf');
SQL.Add('WHERE CAIDAT BETWEEN :DataIni AND :DataFin');
ParamByName('DataIni').AsDateTime := StrToDateTime(txtDataIni.Text);
ParamByName('DataFin').AsDateTime := StrToDateTime(txtDataFin.Text);
Open;
end;
with dm.QueryRelCaixa do
begin
Close;
SQL.Clear;
SQL.Add('SELECT SUM(CAIENT) AS totalDin FROM ESTACAI.dbf');
SQL.Add('WHERE CAIDIN = "X"');
SQL.Add('AND CAIDAT BETWEEN :DataIni AND :DataFin');
ParamByName('DataIni').AsDateTime := StrToDateTime(txtDataIni.Text);
ParamByName('DataFin').AsDateTime := StrToDateTime(txtDataFin.Text);
Open;
totalDin := dm.QueryRelCaixa['totalDin'];
end;
dm.RvPrjCaixa.SetParam('TotalDin',FloatToStr(totalDin));
}
dm.RvPrjCaixa.ExecuteReport('rptCaixa');
end;
Se eu executo apenas a parte das datas, o relatorio é exibido perfeitamente.
Mas se eu for executar tambem a parte da somatória, acusa o seguinte erro 'QueryRelCaixa: Field 'CAIDAT' not found'
Se eu tirar o CAIDAT, ele não vai encontrar o próximo campo da Query...
Ou seja, ele não encontra os campos da query quando executo as duas buscas nela.
alguém tem alguma solução ou uma outra maneira de fazer isso???
Pergunta
Gabriel Cabral
Preciso fazer um relatório entre datas e ele deve ter uma condição para somar os valores de CAIENT quando o campo CAIDIN tiver o valor 'X'
A parte de datas eu já resolvi...mas preciso de ajuda na parte da soma condicional, que não consigo de jeito nenhum..
Meu código está assim:
Se eu executo apenas a parte das datas, o relatorio é exibido perfeitamente.
Mas se eu for executar tambem a parte da somatória, acusa o seguinte erro 'QueryRelCaixa: Field 'CAIDAT' not found'
Se eu tirar o CAIDAT, ele não vai encontrar o próximo campo da Query...
Ou seja, ele não encontra os campos da query quando executo as duas buscas nela.
alguém tem alguma solução ou uma outra maneira de fazer isso???
Agradeço qualquer ajuda!
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.