2010-09-12 4 views

ответ

2

Если вы используете окно конструктора запроса у вас есть намного больше широты, чем если вы работаете в VBA. В окне конструктора запросов можно ввести дату и время на критерии линии в формате для вашей местности, если смотреть с точки зрения SQL, вы можете увидеть:

SELECT tbl.CrDate 
FROM tbl 
WHERE tbl.CrDate Between #2/5/2006 14:7:0# And #11/18/2006 17:28:15# 

Однако, как правило, лучше вводить даты в год/месяц/день или год-месяц-день, даже несмотря на то, что Access может изменить его на ваш формат локали. В VBA это другая история, для доступа требуется месяц, день, год или год, месяц, день. Еще раз, год, месяц, день лучше.

Что касается вашей проблемы, если вы отделили поле даты и времени, было бы лучше, чтобы воссоединить их для запроса, вы можете использовать +:

DateField + TimeField Between #01/06/2010 10:51# And #13/07/2010 22:30# 
+0

Либо США заказа или однозначный формат. В этом случае вам нужен особый формат, и я бы предложил формат ISO с 24-часовым временем, т. Е. Format ([DateField], «yyyy-mm-dd hh: nn»). –

1

Я не пользовался MS Access годами, так что это только из памяти: Access использует # вместо 'для значений даты. И вам нужно использовать формат ISO:

WHERE datecolumn >= #2010-06-01 10:51# AND datecolumn <= #2010-07-13 22:30# 
Смежные вопросы