如何获得工作时间的总和

时间:2013-09-27 10:04:50

标签: sql ms-access

我想在Access 2007 Query Ex中添加两个或更多工作时间数字, 我有三个记录,如

1:30
5:18
10:52

我想在Access query..i中使用SUM函数获取这些记录的总和,但它返回false值。

3 个答案:

答案 0 :(得分:0)

如果您正在使用sql,请尝试使用

create table #temp(Tm time)
insert into #temp values ( CAST('1:30' as time))
insert into #temp values (CAST('5:18' as time))

insert into #temp values (CAST('10:52' as time))
select * from #temp select cast(SUM(DateDiff(MINUTE,  CAST('0:00' as time), Tm))/60 as nvarchar(3)) + ':' + cast(SUM(DateDiff(MINUTE,  CAST('0:00' as time), Tm))%60 as varchar(2))  from #temp

答案 1 :(得分:0)

format(sum([HOURSfield]),"hh:mm")

答案 2 :(得分:0)

您不会得到错误的值,关键是这些值的格式设置为日期,而不是小时/分钟。

我以前已经看过这个过程,无法找到一种简单干净的方法来仅使用SQL进行编码。

好消息是有人已经使用VBA解决了这个问题:

  1. 单击Alt + F11打开Visual Basic for Applications
  2. 单击“插入”->“模块”
  3. 粘贴您在此链接中找到的代码:https://stackoverflow.com/a/30543581/8195723
  4. 在您的SQL代码中使用函数FormatHourMinute(),这样它将显示所需的格式。
  

FormatHourMinute(Sum(tbl_activites.working_hours))为Wk_Hour

注意:此函数返回的值为String类型。您将无法