日期比较 - 条件失败,但返回True

时间:2012-06-14 15:28:12

标签: ms-access vba

我正在尝试将日期与去年下个月的第一天进行比较。如果date1的日期小于去年的下个月的第一天,那么我希望它返回true。如果我将日期设定为提前一年,这种情况似乎只会失败。

LastRightToKnow = 7/14/2011
Dim RTK As String
RTK = ""
If [NeedsRightToKnow] = -1 And [LastRightToKnow] < DateSerial(Year(Now() - 1), Month(Now() + 1), 1) Then
RTK = "Right-To-Know"
End If

所以,根据我的理解,如果today = 6/14/2012那么我会收集

DateSerial(Year(Now() - 1), Month(Now() + 1), 1)  = 7/01/2011 
LastRightToKnow = 7/14/2011 

因此7/14/2011 < 7/01/2011应该返回False。然而,它返回true ...我错过了什么?

2 个答案:

答案 0 :(得分:3)

由于放置了parethesis,你的公式已经关闭了:

? DateSerial(Year(Now() - 1), Month(Now() + 1), 1)
6/1/2012 
? DateSerial(Year(Now()) - 1, Month(Now()) + 1, 1)
7/1/2011 

编辑:需要为月做同样的事情

答案 1 :(得分:1)

Now() +1 = tomorrow

我认为你的意思是

DateSerial(Year(Now())-1, Month(Now())-1, 1)  = 7/01/2011