在 VBA 中计算时间差和舍入以进行访问
Posted
技术标签:
【中文标题】在 VBA 中计算时间差和舍入以进行访问【英文标题】:Calculating time difference and rounding in VBA for access 【发布时间】:2017-04-26 13:19:17 【问题描述】:问题: 我正在设计一个工单系统,我们需要跟踪花费在一项任务上的时间。我们有一个开始时间和结束时间,它是一个日期/时间字段。我需要计算从这两个字段花费的时间,然后将其四舍五入到最接近的小时,总是四舍五入。 121分钟应该算3小时。
我的尝试: 目前我正在将开始时间和结束时间之间的时间转换为分钟,然后尝试将其四舍五入到最接近的小时。
我的分钟字段是=DateDiff("n",[starttime],[endtime])
我拥有的总时间字段是Me.TotalTime.Value = mins mod 60 + 1
除非分钟正好是 60、120、180 等...
感谢任何解决方案
【问题讨论】:
类似int(181/60) + iif(181 mod 60>0,1,0)
181 分钟或更简单的int(181/60) + cint(181 mod 60)
抱歉忽略了第二个想法,我无法编辑更新它。
【参考方案1】:
你可以直接做:
Hours = Hour(TimeSerial(Hour([EndTime] - [StartTime]), -Int(-Minute([EndTime] - [StartTime]) / 60) * 60, 0))
【讨论】:
以上是关于在 VBA 中计算时间差和舍入以进行访问的主要内容,如果未能解决你的问题,请参考以下文章