You could try something along these lines. Undo changes to previous records or force completion of new records.
In the required fields of the subform place V8 in the tag property.
Code goes in the subform's before update event
Code:
Private Sub Form_BeforeUpdate(Cancel As Integer)
Cancel = IsFrmInvalid(Me, "OrderID")
End Sub
Code:
Function IsFrmInvalid(frm As Form, PKeyName As String) As Boolean
Dim ctl As Control
For Each ctl In frm.Controls
If ctl.Tag = "V8" Then
If IsNull(ctl) Then
If Not frm.NewRecord Then
IsFrmInvalid = False
frm.Undo
MsgBox "Changes to " & PKeyName & " " & ctl.Parent(PKeyName) & " have been undone"
Else
IsFrmInvalid = True
MsgBox PKeyName & " " & ctl.Parent(PKeyName) & " is Incomplete. Please complete record"
ctl.SetFocus
End If
End If
End If
Next
End Function