Vba 围绕#错误编码

Vba 围绕#错误编码,vba,reporting-services,Vba,Reporting Services,嗨,我有两个单元格,里面有日期(比如A单元格和B单元格)。我想看看A单元是否

嗨,我有两个单元格,里面有日期(比如A单元格和B单元格)。我想看看A单元是否 SSRS似乎会对所有内容进行评估,即使它不在函数的逻辑步骤中,因为任何安全防护I代码都会被忽略。因此,当单元格A为空时,我总是得到一个#错误

我试图写一些VB代码来做这个计算,因为我认为这样可以缓解这个问题。但是,以下功能也会出现同样的问题:

Public Function CheckForError(ByVal Baseline as String, ByVal Current As String) As Boolean

If IsError(DateValue(Baseline)) Then
    Return False
Else 
    Return True
    End If
End Function
我的表达是:

=Code.CheckForSlip(ReportItems("Milestone_Baseline_Date").Value, ReportItems("Milestone_Current_Date").Value)
很明显,我希望函数返回false而不是#error,但这种努力不起作用

有人能帮我吗


谢谢

检查字符串长度不会返回null

Public Function CheckForError(ByVal Baseline as String, ByVal Current As String) As Boolean


If Len(Baseline) < 1 Then
    Return False
Else 
    Return True
    End If
End Function
公共函数CheckForError(ByVal基线作为字符串,ByVal当前作为字符串)作为布尔值
如果Len(基线)<1,则
返回错误
其他的
返回真值
如果结束
端函数

对不起,在发布代码之前我正在进行实验。如果我了解您的用法,您是从Excel字段调用此函数,检查“基线”是否为有效日期,以及是否返回false以告诉您的调用组不要处理此行,则会发生相同的错误?(恐怕,我对SSRS不太熟悉,所以我可能遗漏了理解您用法的一个重要部分)@rsoni发布您正在使用的表达式,该表达式给出了#error如果这是在您的.rdl中,并且您正在从报告中调用此代码,我怀疑基线是空的。首先测试基线的空/空值。另外,使用IsDate函数怎么样?谢谢杰米,我现在就试试看,@psubee2003这是SSRS 2008