Actually I've just noticed something else.. for the MsgBox's you have If statements when there is no need (as there is only one possible return value), you could have them like this:
VB Code:
  1. If Len(txtName.Text) < 3 Then
  2.            MsgBox "Please enter a valid Drivers Name", vbOK, "Invalid driver name"
  3.            txtName.Text = ""
  4.            txtName.SetFocus
  5.            ErrorResult = "Yes"
  6.         End If
..which makes an alternative option spring to mind - you could use ElseIf, eg:
VB Code:
  1. If Len(txtName.Text) < 3 Then
  2.            MsgBox "Please enter a valid Drivers Name", vbOK, "Invalid driver name"
  3. ...
  4.            ErrorResult = "Yes"
  5.  
  6.         'check agency name is correct format etc
  7.         ElseIf Len(cmbAgencyName.Value) = 0 Then
  8.            MsgBox ...
  9. ...
  10. ...
  11. ...    
  12.         'if no errors go to next form
  13.         Else
  14.             frmAgency.Hide
  15.             frmTrainingClerical.Show
  16.         End If
This would be tidier, avoid any issues like salvelinus was thinking of, and would probably eliminate the need for your ErrorResult variable.