Этот оператор Round генерирует ошибку, когда условие IIf ложно, он работает, когда условие IIf верно.
У меня очень ограниченный опыт работы с SQL.Я унаследовал эту базу данных Access, которую я пытаюсь настроить, от коллеги, вышедшего на пенсию, поэтому я делал снимки в темноте при поиске и устранении неполадок и объединении синтаксиса.
Это оператор Round, который я пытаюсь заставить работать:
Round(IIf([Manual] is Not Null,[Manual]/180,[MemberDays]/180),3) AS [%ADM]
Редактирование устранения неполадок:
Round(IIf([Manual] is Not Null,180/180,100/180),3) AS [%ADM]
Поле Manual создается этим оператором (не уверен, если это уместно, но решил, что я бы включил):
IIf(([2-billing-Prep Export]!wth_date) Is Not Null,[MemberDays]-[Session Cum]+1,"")) AS Manual
Ожидаемые результаты:% ADM будет заполнен вручную / от 180 до 3 декабря, если значение Manual не равно нулю.Если значение Manual равно нулю,% ADM будет заполняться значениями MemberDays / 180 до 3 декабря.
Фактические результаты: оператор работает, если значение Manual не равно null, но% ADM заполняется значением #ERROR, если значение Manual равно null.Google говорит мне, что это потому, что одно из полей в расчете равно нулю ... но MemberDays никогда не равно нулю.
Результаты редактирования устранения неполадок:% ADM заполняется так, как если бы условие всегда выполнялось, даже для записей, в которых значение Manual равно или, по-видимому, равно нулю.Я в замешательстве, потому что перед редактированием устранения неполадок условие, похоже, распознавало нулевые / ненулевые значения в Руководстве.