2012-06-14 3 views
1

Я пытаюсь сравнить дату с первым месяцем прошлого года. Если дата с даты1 меньше, чем первая из следующего месяца с прошлого года, я хочу, чтобы она вернула значение true. Условие только кажется неудачным, если я установил дату на год вперед.Сравнение даты - Условие не работает, но возвращает 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 ... Что мне не хватает?

ответ

1
Now() +1 = tomorrow 

Я думаю, что вы имеете в виду

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

Yep , твое право. Большое спасибо. Он смотрел на эту штуку в течение часа, пытаясь понять, что происходит. – talbright

3

Ваша формула отключена из-за размещения parethesis:

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

Edit: нужно сделать то же самое для месяца

+1

Интересно, что я сказал? – Fionnuala

+0

У вас было это быстрее. В ближайшем окне я не открывал Access open. – JeffO

Смежные вопросы