我已经制作了一个代码,该代码应该验证所选日期不是过去的。我使用DateTimePicker来选择日期。代码是
' Validate Date Received
If DateTimePicker1.Text <= Date.Now() Then
msg += "Enter a valid Date" & vbCr
End If
但是,如果我选择当前日期,则会弹出msg,就像日期是过去一样。
我正在使用VB.NET,并且我与Access数据库建立了连接。
答案 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()进行比较。