Доступ к значению по умолчанию - следующий полный час

Я искал часы и думал, что это будет просто, но все еще не знаю.

Я использую 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
Другие вопросы по тегам