Доступ к значению по умолчанию - следующий полный час
Я искал часы и думал, что это будет просто, но все еще не знаю.
Я использую Access 2010 и у меня есть форма для ввода времени начала задачи. Поле startTime является текстовым, поэтому я могу использовать раскрывающийся список для выбора полных часов, например, 11:00; 12:00; 13:00.
Как я могу установить значение по умолчанию на следующий полный час?
Если время сейчас 12:32, то значение по умолчанию должно быть 13:00; если время сейчас 14:16, значение по умолчанию должно быть 15:00
Отредактировано:
Правильно: =TimeSerial(Час (время ())-(Минута (время ())>=1);0;0)
1 ответ
Ты можешь использовать 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