使用Crystal Report 8.5
在Crystal报表时间列中,值为String。我按人名显示记录顺序。
喜欢这个。
Personid Intime Outtime
001 08:00:00 17:00:00
001 14:00:00 22:00:00
002 07:00:00 10:00:00
002 04:00:00 21:00:00
...
从上面的报告中,我需要总共有一个银泰,总共有人员的外出时间
预期输出
Personid Intime Outtime
001 08:00:00 17:00:00
001 14:00:00 22:00:00
Total 22:00:00 39:00:00
002 07:00:00 10:00:30
002 04:00:00 21:00:30
Total 11:00:00 31:01:00
...
我将以明智的方式显示所有价值以及总数。
需要Crystal Report公式帮助。
答案 0 :(得分:2)
将您的时间转换为秒,然后获得总数。在您的显示格式中,秒数为小时,分钟秒 对于Intime字段,在Crystal Report中,在详细信息部分中创建公式:
@IntimeSeconds
ToNumber(Left({table.Intime}, 2) * 3600) + ToNumber(Mid({table.Intime}, 4, 2) * 60) + ToNumber(Mid({table.Intime}, 7, 2))
您现在可以在组页脚中放置一个公式,以将总的Intime秒显示为hh:mm:ss
@ShowTotalIntime
Numbervar TotalTime := Count({table.Intime}, {table.Group});
Numbervar IntimeHours := TotalTime\3600;
NumberVar IntimeMinutes := (TotalTime%3600)\60;
Numbervar IntimeSeconds := (TotalTime%60);
ToText(IntimeHours, "00") + ":" + ToText(IntimeMinutes, "00") + ":" ToText(IntimeSeconds, "00");
为Outtime做类似的事情。
答案 1 :(得分:0)
看看我的ElapsedTime()函数。 http://www.cogniza.com/blog/?p=31