У меня есть следующее выражение в виде таблицы MS-доступа:Больше/Меньше, чем дата/время табличное выражение
IIf([End Date/Time]>="12/8/2016 6:00:00",1,0)
12/08/2016 18:15:00
будет возвращать «1», однако 12/08/2016 14:23:29
возвращает «0»
Я предполагаю, что это проблема с AM/PM. Я попробовал поставить «6:00:00 AM» в своем выражении, но никаких изменений.
Также я хотел бы заменить '12/8/2016 'на «вчера», но date()-1
, похоже, не работает.
EDIT: Я понял, что время должно быть '06: 00: 00 '. Это дает правильные даты. До сих пор не знаю, как получить это автоматически (т.е. вчера в 06:00)
Благодаря
Спасибо, что не позволит мне использовать функцию DATEADD в выражении но я должен быть в состоянии сделать это в VBA. –
У вас эта проблема. _Format_ делает то, что подразумевает его название, форматирует значение даты. Таким образом, он всегда возвращает строку, а не значение даты.Итак, в формате «Формат (« 12/8/2016 6:00:00 AM »,« mm/dd/yyyy hh: nn: ss am/pm »)' '" 12/8/2016 6:00:00 AM "' сначала сбрасывается на значение даты с использованием ваших настроек в Windows, а затем 'Format' возвращает форматированную строку, которая снова выставляется до значения даты до того, как' DateAdd' сможет ее обработать. Довольно запутанный. – Gustav
@ Густов. Вы правы. Мой ответ был слишком сложным, но это сработало, поэтому я просто с ним катался. Спасибо за объяснение. +1 за ваш ответ. – Chance