Преобразовать строку в запрос access 2007 в формате времени

#ms-access #ms-access-2007

#ms-access #ms-access-2007

Вопрос:

Я пытался сделать это в течение некоторого времени. У меня есть самодельный таймер, чтобы отслеживать, как долго сотрудники находятся на перерыве или обеде в течение рабочего дня. Когда часы останавливаются, запрос обновления сохраняет значение в текстовом поле, поскольку оно является строкой.

Сейчас я пытаюсь создать запрос, который может вычислять следующее:

общее рабочее время = выход из системы — вход в систему

общее количество дополнительного времени = обед перерыв

фактическое рабочее время = рабочее времядополнительное время

Строка для полей lunch и break построена так, что она выглядит следующим образом: Break = 00:28:01 Lunch = 01:02:13

При создании запроса я пытался использовать LunchTime: Format([Обед], «Долгое время»)

и время обеда = значение времени ([Обед])

Ни один из них не сработал.

Комментарии:

1. Представляют ли [обед] и [время перерыва] количество времени, затраченного на каждый из них, в часах, минутах или секундах? Кроме того, преобразуете ли вы эти значения из строк в дату / время, прежде чем пытаться их добавить?

2. Вы правы, викинг, извините, что это была деталь, которая была упущена из-за копирования и вставки. Обед / перерыв = ЧЧ: ММ: СС прошедшего времени, которое записывается с помощью таймера, встроенного в vba, в форме доступа. Я пытался преобразовать их, используя методы, описанные выше в запросе, однако ни один из них не сработал. Либо выдает ошибку -1, либо вообще ничего не выдает.

Ответ №1:

Что, если вы попробуете, как показано ниже

 Format(Lunch, "h:m:s")
  

Двенадцатичасовые часы с заглавными буквами «AM» или «PM», в зависимости от обстоятельств.

 Format(Lunch, "hh:mm:ss AMPM")
  

Смотрите здесь для получения дополнительной информации о спецификаторе формата

Комментарии:

1. Спасибо, Рахул, я не смогу протестировать это до завтрашнего утра, но я протестирую это, как только приступлю к работе.

2. @ASM2701, Не беспокойся, не торопись.

3. Спасибо, Рахул, твое предложение сработало. Коллега также сказал мне, что CDate([Выражение]) также работает. Очень признателен за вашу помощь.