Оператор MS Access для выбора данных за выбранную дату - PullRequest
1 голос
/ 01 сентября 2010

Мне нужен оператор для выбора данных из таблицы базы данных MS Access.

WITHIN выбранные даты

В моем графическом интерфейсе есть два текстовых поля StartDate и EndDate

Iхочу выбрать данные в пределах этих 2 дат.

Я пробовал 2 метода.

Первый -

" DAY(V.RegDate) between " + Start.ToString("dd") 
    + " and " + End.ToString("dd");
" and MONTH(V.RegDate) between " + Start.ToString("MM") + " and " 
    + End.ToString("MM");
" and YEAR(V.RegDate) between " + Start.ToString("yyyy") + " and " 
    + End.ToString("yyyy");

V.RegDate - это столбец даты из базы данных.

Но он не возвращает мне данных, когда я выбираю 01/08/2010 и 01/09/2010, в то время как некоторые данные на 25.08.2010.

Я думаю, что это потому, что явыбрал дату отдельно, и так как 2 даты совпадают, мне ничего не возвращается

Я пробовал другой способ ...

" V.RegDate between #" + Start.ToString("dd/MM/yyyy") + "# and #" _
    + End.ToString("dd/MM/yyyy") + "#";

Это также ничего мне не возвращает

Любые идеи ????

1 Ответ

2 голосов
/ 01 сентября 2010

Этот шаблон работает для меня:

SELECT sometable.somedate
FROM sometable
WHERE (((sometable.somedate) Between #2/1/2010# And #4/1/2010#));

(в данном случае это MDY, я обычно предпочитаю стиль ISO-ish - YYYY / MM / DD, потому что Access не может испортить это)

Возможно, вы установили дату с использованием американского значения по умолчанию - MDY вместо британского (?) Стандарта DMY.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...