Fórum Relatório - Quero utilizar o valor que o QrExpress tem. #145501
14/03/2003
0
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
Curtir tópico
+ 0Posts
14/03/2003
Anonymous
Sum(qrydivulgacao.TOTAL / 100)
Acho que funciona
Gostei + 0
14/03/2003
Bilouro
me explique melhor e com certeza lhe ajudo..
Gostei + 0
14/03/2003
Debora
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
14/03/2003
E_gama
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
14/03/2003
Aroldo Zanela
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
Clique aqui para fazer login e interagir na Comunidade :)