Forms Visual basic 6:检查日期是否在将来

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

我有一个用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 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