2016-12-16 2 views
0

Я пробовал все варианты, о которых я могу думать.Расчет разницы дней в вычисленном поле

У меня есть таблица, отображающая [Appt Date] в поле. Я хочу вычесть эту дату с сегодняшнего дня, чтобы дать мне [Days to Appt].

Я попытался несколько вариаций в выражении строителя вычисляемого поля

=DateDiff("d",[Appt Date]-Date()) 
=[Appt Date]-Date() 

И так далее.

Сообщение об ошибке Я постоянно представлены в

Выражение [АЧТВ Дата] -Date() не может быть использован в вычисляемый столбец.

Я попытался это в/Время вычисленного поля в Дата и Количество вычисляемое поле

Ваша помощь будет с благодарностью оценили

ответ

-1

Сравнение дат представляется затруднительным. Создав календарь самостоятельно, я узнал, что Microsoft Access 2010 дает очень разные значения для явно равных дат/раз. Чтобы сравнить даты для меня, нужно сначала рассчитать дату как долгое значение.

дим longTermDate As Long longTermDate = CLng (PubDateDateActual * 10000)

Тогда поведение поплавок даты или времени можно избежать, если усечены, отрезав правую часть даты.

Тогда я могу сравнить даты. И приложение моего календаря работает.

С наилучшими пожеланиями из оттобруннский, Бавария, Германия

+0

Сравнение дат не составляет труда. _DateDiff_ делает это. И всегда обрабатывайте даты как даты, а не строки, а не цифры, без исключений. Умножение значений даты на 10000 не имеет смысла, поскольку один день составляет 3600 минут или 86400 секунд. – Gustav

0

Во-первых, не используйте вычисляемые поля. Используйте запрос, вот для чего они нужны.

Во-вторых, использовать правильный синтаксис для DateDiff:

Select *, DateDiff("d", Date(), [Appt Date]) As Days From YourTable 

Если [Appt Date] имеет значения даты, без части времени, вы можете даже уйти с:

Select *, [Appt Date] - Date() As Days From YourTable 

Если [Appt Date] не данных тип Дата, сначала преобразовать в Дата:

Select *, DateDiff("d", Date(), DateValue([Appt Date])) As Days From YourTable 
Select *, DateValue([Appt Date]) - Date() As Days From YourTable 
+0

Как бы добавить это к моему столу в качестве поля? Если для этой цели существуют запросы. Для чего рассчитаны поля? Я могу вычислить [Appt_date] -7, но я хочу рассчитать разницу в днях. – Wolfie84367

+0

Вычисляемые поля - это некоторая искалеченная функция, предназначенная для «суперпользователей». Он не будет принимать функции - поскольку Date() - как вы видели. Забудьте об этой функции - это вызовет проблемы. – Gustav

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