VALIDATE dATE IN tEXTBOX

User avatar
sal21
PlatinumLounger
Posts: 4355
Joined: 26 Apr 2010, 17:36

VALIDATE dATE IN tEXTBOX

Post by sal21 »

mY CODE:

Code: Select all

If Not IsDate(Me.TFINE.Text) Then
        Me.LAZIONI.Caption = "DATA FINE ERRATA!"
        DoEvents
        Beep
        Sleep (1000)
        Me.LAZIONI.Caption = ""
        Me.TFINE.SetFocus
        Exit Sub
    End If
If i have in textbox 01/01/202 the code accept this date!

Why?

i need the a correct date in this fpormat dd/mm/yyyy

User avatar
HansV
Administrator
Posts: 78483
Joined: 16 Jan 2010, 00:14
Status: Microsoft MVP
Location: Wageningen, The Netherlands

Re: VALIDATE dATE IN tEXTBOX

Post by HansV »

Valid dates in VBA start at 01/01/100, so 01/01/200 is valid.
You could add a test on the year, for example:

Code: Select all

    If Not IsDate(Me.TFINE.Text) Then
        Me.LAZIONI.Caption = "DATA FINE ERRATA!"
        DoEvents
        Beep
        Sleep (1000)
        Me.LAZIONI.Caption = ""
        Me.TFINE.SetFocus
        Exit Sub
    ElseIf Year(Me.TFINE.Text) < 1900 Then
        Me.LAZIONI.Caption = "DATA FINE ERRATA!"
        DoEvents
        Beep
        Sleep (1000)
        Me.LAZIONI.Caption = ""
        Me.TFINE.SetFocus
        Exit Sub
    End If
You can change the year 1900 of course.
Best wishes,
Hans

User avatar
sal21
PlatinumLounger
Posts: 4355
Joined: 26 Apr 2010, 17:36

Re: VALIDATE dATE IN tEXTBOX

Post by sal21 »

HansV wrote:Valid dates in VBA start at 01/01/100, so 01/01/200 is valid.
You could add a test on the year, for example:

Code: Select all

    If Not IsDate(Me.TFINE.Text) Then
        Me.LAZIONI.Caption = "DATA FINE ERRATA!"
        DoEvents
        Beep
        Sleep (1000)
        Me.LAZIONI.Caption = ""
        Me.TFINE.SetFocus
        Exit Sub
    ElseIf Year(Me.TFINE.Text) < 1900 Then
        Me.LAZIONI.Caption = "DATA FINE ERRATA!"
        DoEvents
        Beep
        Sleep (1000)
        Me.LAZIONI.Caption = ""
        Me.TFINE.SetFocus
        Exit Sub
    End If
You can change the year 1900 of course.
NICE!