访问默认值 - 下一整个小时

时间:2013-10-17 18:07:53

标签: ms-access time access-vba ms-access-2010 default-value

我已经搜索了几个小时,并认为这很简单,但仍然不知道。

我正在使用Access 2010并有一个表单来输入任务的开始时间。 startTime字段是文本,因此我可以使用下拉菜单选择完整的小时数,例如11:00; 12:00; 13:00。

如何将默认值设置为下一个完整小时?

如果现在时间是12:32那么默认值应该是13:00;如果时间现在是14:16,则默认值应为15:00

编辑:

正确:= TimeSerial(小时(时间()) - (分钟(时间())> = 1); 0; 0)

1 个答案:

答案 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