Я создаю отчет в службах Reporting Services для отображения промежутков времени для занятий в классе в нашей программе.Один столбец, который был запрошен, должен показать общее количество часов между временем начала и окончания одного сеанса.Я использовал функцию DATEDIFF, показывающую DateInterval в часах как общее количество часов за один промежуток времени, но я получаю #Error, возвращаемую для пустых значений, которым не было назначено время начала или окончания.
Iдобавлен оператор IIF, чтобы пометить значения, которые являются пустыми, как «TBA», но это не сработало.Поскольку я приводил строку к значению datetime, я заключил оператор DATEDIFF в функцию CStr, но это также не работает.Наконец, я сделал простую вещь и установил текстовое поле для отображения числового значения, поскольку оно возвращает общее количество часов, но, конечно, это тоже не сработало.Мой код выглядит следующим образом:
=IIF(Fields!BeginTime.Value = "", "TBA", CStr(DateDiff(DateInterval.Hour, Fields!BeginTime.Value, Fields!EndTime.Value)))
Это должно показать, что значение "TBA" в пустых местах, но я все еще получаю #Error.Однако общее количество часов подходит для значений, которые не являются пустыми.Я проверил значение в наборе данных, чтобы убедиться, что оно возвращает пустое значение или значение, помеченное как NULL, и возвращает пустое значение.