#Ошибка в отчете о доступе: пустая запись/значение 0 Access 2000

Я продолжаю получать ошибку #Error в текстовом поле, которое заполняется с использованием вычислений в полях запроса/базы данных, пока я проверяю, больше ли значение 0.

Итак, я получил следующую подчиненную форму:

введите здесь описание изображения

В этой субформе пользователь вставляет свои товары, после предыдущей заполненной строки субформа всегда генерирует вторую (пустую).

Вставленные продукты отображаются в отчете:

введите здесь описание изображения

Как видите, пустая строка выдает ошибки. Я думаю, это потому, что строка, на которой выдается ошибка, является вычисляемым полем.

Я решил исправить это, выполнив проверку, если больше 0, в одном из вычисляемых полей. Чтобы было немного понятнее, oppervlakte = площадь, которая вычисляет ее путем умножения width * height * product count - все эти поля равны 0 (или NULL?) в пустой строке.

Вот что я пытался сделать в поле #error:

=IIf([BreedteCoating]>0;[BreedteCoating]*[HoogteCoating]*[AantalEenheden]/1000000;"")

Поэтому, если ширина (Breedte) больше 0, вычислите поле, иначе просто оставьте его пустым. Однако это не работает.

Любая подсказка, как я могу заставить это поле вычисления работать (без #Error), если значения равны 0 или NULL?


person Nicolas    schedule 31.07.2015    source источник
comment
попробуйте nz([BreedteCoating],0) › 0;....   -  person Krish    schedule 31.07.2015
comment
Это не работает. Встроенный NZ просто не принимает функцию NZ вообще (может перейти на другую строку в свойствах текстового поля. Настроил его следующим образом =Iif(Nz([BreedteCoating],0) > 0;[BreedteCoating]*[HoogteCoating]*[AantalEenheden]/1000000); "") Когда я щелкаю свойства после настройки, он просто возвращается к старому IIF.   -  person Nicolas    schedule 31.07.2015
comment
NZ возвращает определенное значение, если аргумент имеет значение null. поэтому ваше условие if будет выглядеть. IIF(nz(аргумент,0) › 0; истинное значение; иначе значение). в вашей последней попытке у вас есть дополнительный ), следовательно, он возвращается к последнему рабочему коду.   -  person Krish    schedule 31.07.2015
comment
Хм, пропустил последний ), но он все равно не принимает его, даже если я удалю )   -  person Nicolas    schedule 31.07.2015


Ответы (1)


Исправлено, что расчет немного отличался. Выполнил расчет в запросе самого отчета, таким образом, я могу просто использовать поле расчета непосредственно в своем отчете, который также правильно обрабатывает значения null/0.

person Nicolas    schedule 31.07.2015