DateAdd не работает в вычисляемом поле запроса

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

EindDatum: DateAdd("yyyy",1,[tblVERHURING]![DatumVerhuring])      

я получаю сообщение об ошибке

Введенное вами выражение содержит недопустимый синтаксис

Если я использую инструмент SQL и ввожу следующее, я получаю нужный результат

SELECT DATEADD("yyyy", 1, [tblVERHURING]![DatumVerhuring]) AS EindDatum
FROM tblVerhuring;

Мой вопрос: можно ли построить это выражение SQL с помощью инструмента сборки и каким должен быть код?


person user311357    schedule 16.12.2020    source источник
comment
Отметьте свой вопрос с помощью базы данных, которую вы используете.   -  person Gordon Linoff    schedule 16.12.2020
comment
Вы уверены, что DatumVerhuring является столбцом DateTime? Если это строка, это объясняет ошибку. ..или если какая-либо из ваших дат равна NULL   -  person tgolisch    schedule 16.12.2020
comment
У меня нет проблем с созданием этого выражения в инструменте сборки. Если поле имеет значение Null, выражение возвращает значение Null. Я также тестировал строку, и Access автоматически преобразовывался в значение даты. Пустая строка вызывает ошибку «несоответствие типа данных».   -  person June7    schedule 17.12.2020
comment
Какой язык доступа вы используете?   -  person jbud    schedule 17.12.2020
comment
Я использую английскую версию Access 2019. Поле DatumVerhuring представляет собой тип даты/времени, без формата, без маски ввода, обязательно = да, показать средство выбора данных = для дат.   -  person user311357    schedule 17.12.2020
comment
Я обнаружил, что если я использую EindDatum: DateAdd(yyyy,1,[tblVERHURING]![DatumVerhuring]), он работает нормально.   -  person user311357    schedule 17.12.2020


Ответы (1)


вам, вероятно, нужно изменить yyyy для вашего языка.

Возможно, это поможет вам:

EindDatum: DateAdd("jjjj",1,[tblVERHURING]![DatumVerhuring]) 

Это работает для голландских версий MS Access.

см. соответствующие документы

person jbud    schedule 17.12.2020