One way to do this is using the BeforeUpdate event of the form. You can loop
through all of your form controls to make sure they aren't null. Once you
find one, you can display a message, cancel the record Add, and place the
focus back on the control. You can either use the ControlSource property of
each control to display the name of the underlying field in your message, or
the Tag property to hold more custom text.
Note that the check for Null will not catch a check box type of control for
a Yes/No field that has not been checked, because it has a value of False.
Dim ctl As Control
For Each ctl In Me.Controls
' See VBA Help for the VB Constants for other data entry controls you
' might be using on your form
If (ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Or _
ctl.ControlType = acListBox) Then
If IsNull(ctl) Then
Cancel = True
MsgBox "Please enter a value for " & ctl.ControlSource
' Or, alternatively:
' MsgBox "Please enter a value for " & ctl.Tag
ctl.SetFocus
Exit Sub
End If
End If
Next ctl
Hope that helps.
Sprinks