2010-06-25 2 views
0

мне нужно только записи отображения, где DateDiff ("d", date1, date2)> 10вычитать даты в Access 2010 веб-запросов

DateDiff не "веб-совместимый". Каким будет обходной путь?

+0

по умолчанию в Access для вычитания даты в дни, поэтому date1-date2 = дней. Я не знаю, совместим ли это с веб-сайтом. – Fionnuala

+0

Конечно! Значения даты Jet/ACE сохраняются как двойные, а целая часть указывает дни. Единственный улов в том, что в полях хранятся как дата, так и время, и в этом случае вам нужно сначала разделить их на целые значения. –

ответ

0

Для веб-запроса у вас нет функции dateDiff(), но, как указывают остальные, простая разница между двумя значениями даст вам количество дней.

Таким образом, в построителе запросов просто введите

DAYDIF: ([date2]-[date1]) 

И в критериях, вы можете пойти:

> 10 
+0

Как вы проводите расчет даты/времени в веб-запросах, отличных от дней? А как насчет проблемы, если какое-либо из значений имеет временные части (что может изменить результаты)? –

+0

Ну, у вас есть функция Hour() min(). У вас также есть DateSerial (Год, месяц, день), а также функции Year(), month(), day(). Итак, между этим набором функций вы не слишком плохи в форме. –

+0

Но они не заменяют DateDiff(), потому что у них нет встроенных знаний календаря. Например, добавление 1 месяца с DateSerial() и Month() не обязательно приведет к тому же результату, что и DateDiff(). –

Смежные вопросы