将当前日期与Date.Now()进行比较,将当前日期视为过去

时间:2016-03-11 17:08:03

标签: vb.net ms-access

我已经制作了一个代码,该代码应该验证所选日期不是过去的。我使用DateTimePicker来选择日期。代码是

' Validate Date Received
If DateTimePicker1.Text <= Date.Now() Then

    msg += "Enter a valid Date" & vbCr

End If

但是,如果我选择当前日期,则会弹出msg,就像日期是过去一样。

我正在使用VB.NET,并且我与Access数据库建立了连接。

2 个答案:

答案 0 :(得分:0)

正如@HansUp所说 - +=不是VBA和neithers Date.Now()
Now()会返回日期和时间,因此时间通常会晚于DateTimePicker1中选择的午夜,我不认为文本框中的值会被视为日期,只是作为文本。

尝试以下方面的内容:

CDate(Forms("Form1").Controls("DateTimePicker1").Text) = Date

另一方面,如果您使用VB.Net,我的代码可能无法正常工作。

答案 1 :(得分:0)

您的日期时间选择器是让用户选择日期和时间,还是只选择日期?

如果它只是一个日期,那么DateTime对象的时间部分将为0,即午夜。 now()返回当前时间的日期,通常晚于午夜。

尝试与today()而不是now()进行比较。