Я написал простое выражение для отображения 0 при делении на 0 в качестве исключения:
Я использую Visual Studio 2008 и Visual Studio 2019.
=IIF ( Sum(Fields!STUDENTCOUNT.Value) = 0, 0 , Sum(Fields!CONTINUINGSTUDENTCOUNT.Value) / Sum(Fields!STUDENTCOUNT.Value) )
Вы не очень хорошо объяснили проблему, но я вижу, в чем проблема, только из выражения. С операторами IIF
весь оператор оценивается, как только при выполнении достигается ячейка. Это означает, что независимо от того, как вы пытаетесь избежать ошибки деления на ноль в этом выражении, оно все равно будет оценивать ложное условие и генерировать ошибку. Я собираюсь позаимствовать пользовательский код у этот ответ, чтобы дать вам решение.
Public Function Divide (ByVal Dividend As Double, ByVal Divisor As Double) If IsNothing(Divisor) Or Divisor = 0 Return 0 Else Return Dividend/Divisor End If End Function
Чтобы добавить это в свой код, щелкните правой кнопкой мыши за пределами отчета в окне дизайнера и перейдите к Report Properties
. Перейдите на вкладку «Код» и введите предыдущий код в редактор. Затем для вызова кода вы будете использовать следующее выражение.
=Code.Divide(Sum(Fields!CONTINUINGSTUDENTCOUNT.Value), Sum(Fields!STUDENTCOUNT.Value))
Решетчатый раствор; Да, мне нужно исправить (ошибка деления на ноль). Спасибо.
Возможный дубликат Как обрабатывать деление IIF или Switch на ноль, что дает #ERROR?