Произошла ошибка при компиляции этой функции. Access 2013 Расчетная проблема поля
У меня есть таблица с полем, который имеет вычисляемый тип и содержит следующее выражение:
IIf(IsNull([OrderValue]),[TotalPhaseLabourCost]-[DefaultOrderValue],[TotalPhaseLabourCost]-[OrderValue])
По какой-то причине, когда я открываю таблицу в любом представлении, она выдает ошибку:
"Произошла ошибка при компиляции этой функции. Модуль Visual Basic содержит синтаксическую ошибку. Проверьте код, а затем перекомпилируйте его".
Тем не менее, у меня есть эта база данных в настоящее время открыт на двух ноутбуках, один работает нормально, а другой имеет эту проблему. Я проверил обе ссылки БД, и они также совпадают.
2 ответа
Это немного расплывчато, поэтому я могу только догадываться.
- Попробуйте скомпилировать код, как написано в сообщении об ошибке.
- проверьте, есть ли у вас функция с тем же именем, что и ваше поле
- Попробуйте заменить
IIf(IsNull([OrderValue]),
отIIf([OrderValue] is Null,
У меня возникла проблема с некоторыми полями (показывалось сообщение об ошибке #NAME?
в некоторых полях (дата, номер) в "новой" записи).
У меня получилось закрыть таблицу, щелкнуть ее правой кнопкой мыши и открыть в режиме дизайна.
Для каждого из проблемных полей я снова выбираю тип данных (который уже был показан) из выпадающего меню (так что, тот же тип данных!).
Сохранить.
Тогда он больше не выдавал сообщений об ошибках.
Вы, вероятно, пропускаете ведущий знак равенства:
=IIf(IsNull([OrderValue]),[TotalPhaseLabourCost]-[DefaultOrderValue],[TotalPhaseLabourCost]-[OrderValue])
Или вы можете использовать:
=[TotalPhaseLabourCost]-Nz([OrderValue],[DefaultOrderValue])