Forms Visual basic 6:检查日期是否在将来
我有一个用VB6制作的表单,我需要检查日期字段以了解未来的日期 如果输入的日期是将来的,则应显示错误消息,如果不是,则验证应完成 我已经做到了:Forms Visual basic 6:检查日期是否在将来,forms,validation,date,vb6,future,Forms,Validation,Date,Vb6,Future,我有一个用VB6制作的表单,我需要检查日期字段以了解未来的日期 如果输入的日期是将来的,则应显示错误消息,如果不是,则验证应完成 我已经做到了: Private Sub txtDate_Validate(Index As Integer, Cancel As Boolean) If Not IsDate(txtDate(9).Text) Then 'first I check if the data entered is a date 'error message saying the fiel
Private Sub txtDate_Validate(Index As Integer, Cancel As Boolean)
If Not IsDate(txtDate(9).Text) Then 'first I check if the data entered is a date
'error message saying the field needs a valid date
Cancel = True
Else
If (txtDate(9).Text > Date) Then 'now I check if the date entered is bigger than today’s date
'error message saying the date is in the future
Cancel = True
Else
Exit Sub
End If
End If
End If
End Sub
此代码不起作用,因为
txtDate(9).Text > Date
这永远是真的
即使我这样做:
Format(txtDate(9).Text, "dd/mm/yyyy") > Date
这也是事实
我能做些什么来解决这个问题?我如何知道输入的日期是否在将来
谢谢 使用CDate将文本框的内容转换为日期
如果它周围有引号,这是一个字符串。将txtDate(9).text转换为日期。编程规则#356,不要对字符串进行日期运算。Cdate,我找到了!请把你的评论写在帖子里,这样我就可以接受了。非常感谢,这里有一位VB6学习者!奇怪的是,你是:)是的,我告诉自己回答我自己的问题!:这里的区别是,我完全相信txtDate(9)。文本已经是一个日期,所以我认为这是一个编程问题,而不是类型转换问题。。学习曲线很复杂,现在我知道:)但是
.Text
种类意味着它是文本:p