=Switch(
IsNothing(Parameters!additionalDate.Value), " ",
len(Parameters!additionalDate.Value) <5, " ",
len(Parameters!additionalDate.Value)>=5, CDate(Parameters!additionalDate.Value).ToShortDateString()
)
如果没有日期,这将在报告上引发#Error。日期字段恰好是2个空白字符。为什么这会将错误作为输出而不是“”?
答案 0 :(得分:2)
switch()
,iif()
和choose()
之类的VBScript表达式不像在C#中那样短路,因此您的switch语句中的所有表达式都将被评估,无论价值是什么。
尝试在加载报告的方法/流程中更早地执行验证。如果无法做到这一点,则必须检查每个可能的值/空值。