2012-04-21 53 views
2

我本來以爲Form!MyForm!Date >= #1/12/2010#可以做到這一點,但它似乎沒有工作。在VB中等於或小於x的日期

有人可以提供一些線索什麼我做錯了

全碼:

If (Forms!MyForm!DateSubmitted >= #1/01/2012#) Then 
MsgBox ("Past due date") 
End If 
+2

是'DateSubmitted'一個文本框?如果是,那麼你正在比較一個字符串和日期。您必須首先將「Forms!MyForm!DateSubmitted」轉換爲日期,然後才能進行比較。 – 2012-04-21 13:48:08

+0

我還想補充說明'DateSubmitted'中的日期必須表示有效的字符串日期,例如「1/1/2012」而不是「1.1.2012」 – 2012-04-21 13:59:11

回答

2

使用CDate函數來,至少,請確保您比較兩個日期:

If (CDate(Forms!MyForm!DateSubmitted) >= #1/1/2012#) Then 
    MsgBox ("Past due date") 
End If 

如果你的輸入字符串不是有效的日期字符串,你會得到類型錯誤,但你會知道你沒有比較日期類型。

另外,檢查你比較有效日期:

Form!MyForm!Date >= #1/12/2010# '2010 

Forms!MyForm!DateSubmitted >= #1/01/2012# '2012 
相關問題