I'm glad you worked it out It's surprising how a night drinking can help occasionally (as it usually does the opposite!!).

One thing I notice is that you have a few bits of repeated code, which could be put into Subs instead. That way you if things change you don't need to change code in several places, and the other code is much easier to read (as there is far less of it!).

For example, in cmdAdd/cmdDelete/etc you have code like this:
VB Code:
  1. txtFirstName.Text = vbNullString
  2. ...
  3. ...
  4. txtEmployed.Text = vbNullString
and like this:
VB Code:
  1. txtFirstName.Enabled = True  '(or false, but all the same)
  2. ...
  3. ...
  4. txtEmployed.Enabled = True

These can both be replaced (everywhere in your code that uses them) by a call to a subs like these:
VB Code:
  1. Private Sub ClearTextBoxes
  2. 'Clear the text in all data text boxes
  3.  
  4.   txtFirstName.Text = vbNullString
  5.   txtLastName.Text = vbNullString
  6.   txtSocialSecurity.Text = vbNullString
  7.   txtPhone.Text = vbNullString
  8.   txtStreet.Text = vbNullString
  9.   txtCity.Text = vbNullString
  10.   txtState.Text = vbNullString
  11.   txtZip.Text = vbNullString
  12.   txtID.Text = vbNullString
  13.   txtRate.Text = vbNullString
  14.   txtGender.Text = vbNullString
  15.   txtDateofBirth.Text = vbNullString
  16.   txtEmployed.Text = vbNullString
  17. End Sub
  18.  
  19. Private Sub EnableTextBoxes (booEnable as Boolean)
  20. 'Enable or disable all data text boxes (pass True to enable all, or False to disable all)
  21.  
  22.   txtFirstName.Enabled = booEnable
  23.   txtLastName.Enabled = booEnable
  24.   txtSocialSecurity.Enabled = booEnable
  25.   txtPhone.Enabled = booEnable
  26.   txtStreet.Enabled = booEnable
  27.   txtCity.Enabled = booEnable
  28.   txtState.Enabled = booEnable
  29.   txtZip.Enabled = booEnable
  30.   txtID.Enabled = booEnable
  31.   txtRate.Enabled = booEnable
  32.   txtGender.Enabled = booEnable
  33.   txtDateofBirth.Enabled = booEnable
  34.   txtEmployed.Enabled = booEnable
  35. End Sub
(just paste this before cmdend_Click)

These can be used in cmdAdd and cmdDelete like this:
VB Code:
  1. Private Sub cmdDelete_Click()
  2. errormsg = MsgBox("Are You Sure You Want To Delete This Record", vbYesNo, "Delete Record")
  3. If errormsg = vbYes Then
  4.   rs.Delete
  5.   Set rs = db.OpenRecordset("EMPDATA", dbOpenTable)
  6.   list
  7.  
  8. [B]  Call ClearTextBoxes
  9.   Call EnableTextBoxes(False)[/B]
  10.  
  11.   txtSearch.Text = vbNullString
  12.   cmdSave.Enabled = False
  13.   cmdCancel.Enabled = False
  14.   cmdadd.Enabled = True
  15. Else
  16.   Exit Sub
  17. End If
  18. End Sub
  19.  
  20.  
  21. Private Sub cmdAdd_Click()
  22.  
  23. [B]  Call ClearTextBoxes
  24.   Call EnableTextBoxes(True)[/B]
  25.  
  26.   cmdadd.Enabled = False
  27.   cmdDelete.Enabled = False
  28.   cmdEdit.Enabled = False
  29.   cmdSave.Enabled = True
  30.   cmdCancel.Enabled = True
  31.   dbadd = True
  32.  
  33. End Sub
..you can also call them from other places in your code that do the same work.