Relatório - Quero utilizar o valor que o QrExpress tem.

Delphi

14/03/2003

fiz um relatório com a seguinte qry

SELECT PRDIVUL, COUNT(*) AS TOTAL
FROM POPRO
WHERE PRDTCAD BETWEEN :DataIni AND :DataFin
GROUP BY PRDIVUL

ele sai da seguinte forma:
------------------------------------------------------
MOTIVO CANCELAMENTO TOTAL ¬
------------------------------------------------------
fechou com outra empresa 10 ?
apenas cotando 20 ?
prorrogação proposta 05 ?
------------------------------------------------------
total 35
------------------------------------------------------

O 35, obtive do qrexpress com a seguinte função:
SUM(qrydivulgacao.TOTAL)

E para calcular a porcentagem preciso do valor total 35, ou seja, preciso do valor do qrexpress.

Não estou conseguindo pegar o valor do qrexpress para fazer o calculo da porcentagem. Como pego esse valor?


Por favor, é urgente.


Debora

Debora

Curtidas 0

Respostas

Anonymous

Anonymous

14/03/2003

Vc não precisa pegar o valor do QRExpress, basta vc colocar outro QRExpress e fazer

Sum(qrydivulgacao.TOTAL / 100)

Acho que funciona


GOSTEI 0
Bilouro

Bilouro

14/03/2003

Cara amiga, não consegui entender ao certo oq precisa...

me explique melhor e com certeza lhe ajudo..


GOSTEI 0
Debora

Debora

14/03/2003

------------------------------------------------------
MOTIVO CANCELAMENTO TOTAL ¬
------------------------------------------------------
fechou com outra empresa 10 ? 28¬ (como tenho esse valor?)
apenas cotando 20 ? 57¬ ||
prorrogação proposta 05 ? 14¬ ||
------------------------------------------------------
total 35
------------------------------------------------------


Preciso calcular a porcentagem do motivo de cada cancelamento

não sei pegar o valor total (35) que é de um qrexpress


GOSTEI 0
E_gama

E_gama

14/03/2003

Veja bem, fica dificil vc calcular o percentual porque vc soh vai ter o total ao final da impressao.

O que vc poderia fazer eh criar um outra Query (QryTotal) e abri-la antes de começar a impressao:

  SELECT COUNT(*) AS TOTAL FROM POPRO 
  WHERE PRDTCAD BETWEEN :DataIni AND :DataFin 


Depois, na linha de detalhe (onde sera impresso o percentual), coloque mais um QRExpress com a formula:

(qrydivulgacao.TOTAL / QryTotal.TOTAL * 100)


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

14/03/2003

------------------------------------------------------ MOTIVO CANCELAMENTO TOTAL ¬ ------------------------------------------------------ fechou com outra empresa 10 ? 28¬ (como tenho esse valor?) apenas cotando 20 ? 57¬ || prorrogação proposta 05 ? 14¬ || ------------------------------------------------------ total 35 ------------------------------------------------------ Preciso calcular a porcentagem do motivo de cada cancelamento não sei pegar o valor total (35) que é de um qrexpress

Débora,

Acredito que existam outras maneiras mais adequadas para se fazer isso, mas atendendo ao seu pedido, fiz um exemplo:

var
  Form1: TForm1;
  nTotal: Currency;  // Escopo

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
  QuickRep1.Prepare; // Roda o relatório sem exibir
  ShowMessage(FloatToStr(nTotal)); // mostra o total
end;

procedure TForm1.QRExpr1Print(sender: TObject; var Value: String);
begin
  nTotal:= StrToFloat(Value); // atribui o total a variável
end;



GOSTEI 0
POSTAR