Fórum Somando Campo Time no Quick Report #239194

23/06/2004

0

Estou postando novamente porque minha necessidade é urgente!

Será que não tem como somar campo Time no Quick Report?

Relaciono relatório com campo Time (hh:mm:ss) e preciso realizar a soma desses horários no final! Exemplo:

10:00:00
12:00:00
08:00:00

Resultado: 30:00:00

Por favor, alguém dê uma luz!?!?!?!?!?


Osmar Cardoso

Osmar Cardoso

Responder

Posts

23/06/2004

Luineumann

uma dica é a seguinte

1) na sua tabela crie um campo calculado que é o horário em segundos

TabTimeSeg : integer, ok?

OnCalcFields
var
hh, mm, ss, sss : word;

begin
decodedate (tabCampoHora.Value, hh, mm, ss, sss);
tabTimeSeg.Value := (hh* 3600) + (mm* 60) + ss;
end;

no relatório crie um campo

TotalHoras : integer;

inicialize ele com zero no início

a cada registro detalhe impresso faça

TotalHoras := totalHoras + tabTimeSeg.Value;


na hora de imprimir o total use um qrlabel para colocar o total
no beforeprint da linha de total coloque

var
hh, mm, ss : integer;
begin
hh := 0;
mm := 0;
ss := TotalHoras;
while ss > 3559
do begin
hh := hh + 1;
ss := ss - 3600;
end;
while mm > 359
do begin
mm := mm + 1;
ss := ss - 360;
end;
qrlabelTotal.Caption := formatdatetime(´hh:mm:ss´,
encodedate(hh,mm,ss,0);
end;


Responder

Gostei + 0

23/06/2004

Luineumann

Corrigindo o final

não use o formardatetime que vai dar pau

use assim

qrlabeltotal.caption := formatfloat(´00´, hh)
+ ´:´
+ formatfloat(´00´, mm)
+ ´:´
+ formatfloat(´00´, ss);


Responder

Gostei + 0

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

Aceitar