#ms-access
Вопрос:
Я пытаюсь рассчитать продолжительность времени от начального поля до конечного поля из таблицы dbo_table. Я извлекаю таблицу из своего программного обеспечения для планирования, поэтому я не могу контролировать форматирование. Поля в текстовом формате вводятся как «09:00» и «15:30», чтобы соответствовать 9:00 утра и 3:30 вечера. Мне нужно кое-как преобразовать их во время, чтобы их можно было математически суммировать для достижения продолжительности времени. Мы будем очень признательны за любую помощь!! Спасибо.
Ответ №1:
Используется CDate
для преобразования в дату, а затем вычитания:
Duration = CDate(CDate([TimeEnd]) - CDate([TimeStart]))
Продолжительность, которую вы можете отформатировать как время, используя этот формат h:nn
.
Комментарии:
1. .. до тех пор, пока поле не изменится с ТЕКСТОВОГО на АКТУАЛЬНОЕ . Да, и это именно то, что
CDate
делает.DateValue
игнорирует часть времени; если вам не нравитсяCDate
, используйтеTimeValue
.2. Спасибо вам, добрый сэр, нужно было изменить еще пару вещей, чтобы это сработало, но мы начинаем и работаем. Еще раз спасибо вам!!
Ответ №2:
Попробуйте функцию DateDiff() с текстовыми данными. Доступ должен автоматически приводить к дате/времени. Пример:
DateDiff("n","09:00","15:30")
возвращается через 390 минут.
Это предполагает, что временной диапазон находится в один и тот же день.