I did use open query and noticed that my form loses focus; that makes clearing the form a problem if is is a duplicate. By replacing "Me.undo" with "DoCmd.RunCommand acCmdUndo" I am able to open and close the query and return to the form so that I can clear it without saving the duplicate data. It works correctly.
Here's the code so the next person that needs help can find it.
Code:
Set db = CurrentDbstrwordF = Me.First_Name
strwordL = Me.Last_Name
strSQL = "SELECT [First_Name],[Last_Name] FROM [Contact_Info] WHERE[First_Name]= """ & strwordF & """ And [Last_name]= """ & strwordL & """;"
Set qdf = db.CreateQueryDef("contact_info_query", strSQL)
DoCmd.OpenQuery "contact_info_query"
strcount = "Select Count (Last_Name) AS CountofLast_Name FROM contact_info_query;"
Set rs = db.OpenRecordset(strcount)
x = rs.Fields(0)
DoCmd.Close acQuery, "contact_info_query", acSaveNo
db.QueryDefs.Delete ("contact_info_query")
If x < 1 Then
Forms!New_Contact_Entry.SetFocus
Cmdinvisible.Visible = True
Add_Contribution_SubForm.Visible = True
Forms!New_Contact_Entry!Add_Contribution_SubForm.SetFocus
DoCmd.GoToControl ("date")
Else
Forms!New_Contact_Entry.SetFocus
msgbox "This contact already exists!", vbOK, "Duplicate Entry!"
DoCmd.RunCommand acCmdUndo
Exit Sub
End If
I think I will try Micron's new information too to see if it gives a cleaner result. Thanks for all the help.