Just for reference, brin mailed me, and I sent him the following script to add to the On Exit event for the ID field (which is the primary key). As the field is primary key, at automatically blocks duplicates, but doesn't warn untill all fields are complete, so part of the code is refresh form on exit which would validate the ID, if the ID was a duplicate a runtime error message would appear so the rest of the script is for error handling and to present a more 'user friendly' error message
open the properties on the form for the ID field and select code builder on the OnExit event
between the sub and end sub statements insert the following code
On Error GoTo Err_Form_KeyDown
Const conErrNotUpdatable = 3022
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
Exit_Form_KeyDown:
Exit Sub
Err_Form_KeyDown:
If Err.Number = conErrNotUpdatable Then
MsgBox ("ID already exists, please enter new ID"), vbExclamation
Else
GoTo Exit_Form_KeyDown
End If
Resume Exit_Form_KeyDown