Home  Fees/Services  Access Templates  Tutorials  Access Download  Articles  Search  Contact  Privacy  Links

Visual Basic Tutorial
   
Access Programming Examples
Data Validation in Visual Basic

Data Validation for Access Visual Basic for Microsoft Access
Microsoft Access Tutorial>Visual Basic Tutorial>Form Data Validation Download VBA Example  



VB Age Calculation
VB6 Change Case
Calculate Running Sum
VB Concatenate Records
VB CreateQueryDef
VB6 Database Path
Detail-Master Update
VB Field Validation VBA
VB Field Value New-Old
VB FindFirst Recordset
Get Version Number
VB Global Parameters
Global Variables
Labels as Links
VB Launch Outlook
VB List Box Files List
VB Mail Merge
OutputTo Crosstab
VB Read Email Access
VB Sort Recordset
VB Recordset Filters
VB Reference Form Field
RTF Report Email
VB Select Case
Email From Access
VB Transaction Processing

Visual Basic Function Examples

 
Data Validation Examples

Form Data Validation VB Tutorial

Form Data Validation:  The following Microsoft Access Visual Basic code demonstrates several different forms of field validation.

1) Checking if the date entered is after today's date:

Private Sub Date_Entered_AfterUpdate()
    If Me.Date_Entered>date() then        ' Date_Entered is form field name
            msgbox "Please enter a date less than or equal to today's date."
            Me.Date_Entered.setfocus      ' set cursor back in the date field
    end if
End Sub

2) Perform data validation on the difference between two date fields is greater than 30 days.

Private Sub Date_Entered_AfterUpdate()
   ' perform data validation on date fields
    If datediff('d', Me.Date_Received,Me.Date_Entered) > 30 then
            msgbox "Warning: The date received is more than 30 days " & _
            "past Date Entered, please verify."
    end if
End Sub

3) Validate data exists in a table.  This example demonstrates a highly compressed method of programming, which I hope you would never use (we don't).

Private Sub Emp_Name_AfterUpdate()

If Nz(DLookup("Emp_Name", "Employees", "Emp_Name='" & _
Me.Emp_Name & "'"), "zzzz") <> "zzzz" Then MsgBox & _
"That name already exists in the employee table."
' note that the two VB lines above actually need to be on one line to run the data validation

End Sub

There is a lot to data validation for credit card numbers.  A programmer's look at the numbers for each type of credit card generates a series of visual basic data validation checks shown below:

Private Sub CC_Exp_Enter()
    Select Case Me.CC_Type    ' combo box user selection field
    Case 1         'amex
        If IsNull(Me.CC_Number) = True Then
            MsgBox "You must enter an AMEX number."
            Me.CC_Number.SetFocus
            Exit Sub
        End If
        If Len(Me.CC_Number) <> 15 Then
            MsgBox "The credit card number should have 15 digits."
            Me.CC_Number.SetFocus
            Exit Sub
        End If
        If Left(Me.CC_Number, 1) <> "3" Then
            MsgBox "AmEx numbers must start with a 3."
            Me.CC_Number.SetFocus
            Exit Sub
        End If
    Case 3         ' visa
        If IsNull(Me.CC_Number) = True Then
            MsgBox "You must enter an Visa number."
            Me.CC_Number.SetFocus
            Exit Sub
            End If
        If Left(Me.CC_Number, 1) <> "4" Then
            MsgBox "Visa card numbers must start with a 4."
            Me.CC_Number.SetFocus
            Exit Sub
        End If
        If Len(Me.CC_Number) <> 16 Then
            MsgBox "This card type should have a 16 digit number."
            Me.CC_Number.SetFocus
            Exit Sub
        End If
    Case 2         ' M/C
        If IsNull(Me.CC_Number) = True Then
            MsgBox "You must enter an MC number."
            Me.CC_Number.SetFocus
            Exit Sub
        End If
        If Left(Me.CC_Number, 1) <> "5" Then
            MsgBox "MasterCard numbers must start with a 5."
            Me.CC_Number.SetFocus
            Exit Sub
        End If
        If Len(Me.CC_Number) <> 16 Then
            MsgBox "This card type should have a 16 digit number."
            Me.CC_Number.SetFocus
            Exit Sub
        End If
    End Select
End Sub


Contact Information

Programming Visual Basic Tutorial

Access Visual Basic/VB/VBA/VBScript/VB6 2007 2003 2000 All Windows Versions