Ошибка доступа к свойству при запросе с нулевым полем - PullRequest
0 голосов
/ 31 января 2019

У меня странная проблема с MS Access 2013 на данный момент.Он продолжает возвращать «Свойство не найдено», когда я запрашиваю его с пустым полем.

Созданный мной запрос должен позволять пользователям вводить некоторые, все или ни один из почтовых индексов и возвращать соответствующие записи.На моем ноутбуке (работает Access 2016) этот запрос работает нормально во всех формах, но возвращает вышеупомянутую ошибку, когда поле оставлено пустым.

Запрос (в режиме SQL):

WHERE ((Left([Carer Contact Details]![Postcode],Len([Forms]! 
[AgeRangeQueryForm]![PostcodeSearch])))=[Forms]![AgeRangeQueryForm]![PostcodeSearch])) OR ((([Forms]![AgeRangeQueryForm]![PostcodeSearch]) Is Null));

В запросе есть некоторые дополнительные части, относящиеся к другим частям формы, но они здесь не актуальны, как и все остальные части.запроса функционируют.

Я подозреваю, что это проблема совместимости между Access 2016 и 2013. База данных изначально была создана в Access 2016, но мне пришлось перенести ее на более старую систему, которая работает в 2013 году. Это единственное отличие, которое я могу установить, и я не могу понять другую причину, почему это может работать на одной машине, а не на другой!

Любая помощь будет оценена!

1 Ответ

0 голосов
/ 31 января 2019

Попробуйте использовать Nz :

WHERE
    (Left([Carer Contact Details]![Postcode], Len(Nz([Forms]![AgeRangeQueryForm]![PostcodeSearch]))) = Nz([Forms]![AgeRangeQueryForm]![PostcodeSearch])) 
    OR 
    ([Forms]![AgeRangeQueryForm]![PostcodeSearch] Is Null);
...