我已经搜索了几个小时,并认为这很简单,但仍然不知道。
我正在使用Access 2010并有一个表单来输入任务的开始时间。 startTime字段是文本,因此我可以使用下拉菜单选择完整的小时数,例如11:00; 12:00; 13:00。
如何将默认值设置为下一个完整小时?
如果现在时间是12:32那么默认值应该是13:00;如果时间现在是14:16,则默认值应为15:00
编辑:
正确:= TimeSerial(小时(时间()) - (分钟(时间())> = 1); 0; 0)
答案 0 :(得分:2)
您可以使用CDate()
将 startTime 字符串转换为日期/时间值。然后使用DatePart()
获取小时。给TimeSerial()
小时加1,零分和秒。最后使用Format()
将生成的日期/时间值转换回字符串。
这是一个立即窗口会话,用于测试下面的函数。
? NextHour("12:32")
13:00
? NextHour("07:00")
08:00
Public Function NextHour(ByVal pStartTime As String) As String
Dim dteStart As Date
Dim dteNext As Date
dteStart = CDate(pStartTime)
dteNext = TimeSerial(DatePart("h", dteStart) + 1, 0, 0)
NextHour = Format(dteNext, "hh:nn")
End Function