tw1ggyz
@tw1ggyz

Как правильно составить запрос с датой в vba access?

Есть Access 2013, в нем таблица sold_test, импортированная из экселя. В ней поле date с датой вида 25/10/15, то есть дд/мм/гг. Пытаюсь выбрать записи в интервале со 2 января 2015 по 3 января 2015:
Set rsSold = .OpenRecordset("SELECT * FROM sold_test WHERE date BETWEEN #01/02/2015# AND #01/03/2015#")

Для начала хотя бы так, без переменных даже, просто в тексте запроса даты указываю. Месяц я поставил первым, потому что прочитал, что в USA так принято и в офисе надо тоже делать так, иначе все равно месяц и день поменяются местами. Пробовал и день первым, и вместо года просто 15 ставить, результат один - выдаются записи со 02/02/15 по 02/06/16. Еще пробовал запрос вот в таком виде:
Set rsSold = .OpenRecordset("SELECT * FROM sold_test WHERE date > '02/01/15' AND date < '03/01/15'")

В надежде, что он хотя бы как строки обычные их сравнит.
Короче я что-то в шоке от этой системы. Никогда бы не подумал, что такая простая вещь может быть такой сложной О-о
Кто-нибудь знает, как правильно составить запрос?
  • Вопрос задан
  • 1722 просмотра
Пригласить эксперта
Ответы на вопрос 1
honor8
@honor8
Принципы быстродействия VBA в описании
Создавал дату в виде dt = DateSerial(2015, 12, 31), затем в запросе SQL обращался: "SELECT ... #" & Format(dt, "yyyy-mm-dd") & "#". С другими разделителями эффекта не достиг.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы