1

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

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

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

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

编辑:

正确:=TimeSerial(Hour(time())-(Minute(time())>=1);0;0)

4

1 回答 1

2

您可以使用CDate()startTime字符串转换为日期/时间值。然后用于DatePart()获取小时。给TimeSerial()小时加一,分和秒给零。最后用于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
于 2013-10-18T14:45:31.413 回答