0

嗨,我有以下代码

Public Function checkDate(ByVal SomeDate As String) As Integer
If CDate("Sep 24 2012") >= CDate(SomeDate) Then
     Return 1
End If
Return 0
End Function

当我调用 checkDate("January 1 2012") 或任何早于 9 月 24 日的日期时,我会返回 1。

但是,当我调用 checkDate("Sep 25 2012") 或 9 月 24 日之后的任何其他日期时,我会返回 #error。

有人可以解释为什么会发生这种情况而不是 0 返回值吗?

4

2 回答 2

1

VBA 不使用 Return

Public Function checkDate(ByVal SomeDate As String) As Integer
    If CDate("Sep 24 2012") >= CDate(SomeDate) Then
        checkDate = 1
    Else
        checkDate = 0
    End If
End Function
于 2012-10-08T16:00:33.190 回答
0

这段代码在 VBA 中对我有用。我还没有检查这个是否在 SSRS 中工作。

Public Function checkDate(ByVal SomeDate As String) As Integer
Dim dteCheck As Date
Dim dteSomeDate As Date

dteCheck = CDate("Sep 24 2012")
dteSomeDate = CDate(SomeDate)

If dteCheck >= dteSomeDate Then
    checkDate = 1
Else
    checkDate = 0
End If
End Function
于 2012-10-08T16:00:07.820 回答