2013-04-08 96 views
0

需要一些帮助,如上所述,这部分麻烦我,因为如果date的值为NULL,它会显示值为#Error。 没关系,如果有日期值但不是NULL。 Argghhhhhhh .... 我已经对夫妇表达之下,但没有它的解决该问题:对于NULL日期返回的RDL表达式#Error

=IIf(IsNothing(Fields!LastReviewDate.Value), "N/A", DateValue(Fields!LastReviewDate.Value).ToString("dd-MMMM-yyyy")) 

OR 

IIf(Fields!LastReviewDate.Value Is Nothing, "N/A", DateValue(Fields!LastReviewDate.Value).ToString("dd-MMMM-yyyy")) 

OR 

=IIf(Fields!LastReviewDate.IsMissing, "N/A", DateValue(Fields!LastReviewDate.Value).ToString("dd-MMMM-yyyy")) 

谁能告诉我怎么解决这个问题?我想用“”或“N/A”或“更换空日期 - ” ...... 这是输出:

Report show value as #Error if date is NULL

我试图改变我的数据源的属性,但它给我这样的错误消息:

Error when change datasource properties

回答

0

我得到了我的问题解决了,感谢与G叔叔”(谷歌)给我的资源很多&感谢大家谁在分享他们的知识互联网!谢谢!!!

答案是:

1)配置你的表达受影响的列,在我来说,我需要检查,如果我的日期类型列保存NULL值与否。这是我的例子: -

=Code.CheckForNull(Fields!LastReviewDate.Value) 

Step 1, change the expression

2)看Visual Studio的菜单为您的RDL报告,选择报告>>>报告属性...转到标签“代码”,并把功能为你的内部表达,这是我的例子: -

Public Function CheckForNull(ByVal value As Object) As String 
    If IsNothing(value) Then 
     Return "N/A" 
    Else 
     Return DateValue(value).ToString("dd-MMMM-yyyy") 
    End If 
End Function 

Got to report properties

3)点击,就OK保存解决方案&测试您放置ReportViewer的页面以查看结果,并且BRAVO您只是做对了! Enter your function to respond to your report expression column

enter image description here