Perhaps:
Code:
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim strMessage As String
If Me.checkbox1 Then
If Not(IsDate(Me.date1)) then
strMessage = ";CheckBox1 Checked, Date1 not Entered."
End If
End If
If Me.checkbox2 Then
If Not(IsDate(Me.date2)) then
strMessage = strMessage & ";CheckBox2 Checked, Date2 not Entered."
End If
End If
If Me.checkbox3 Then
If Not(IsDate(Me.date3)) then
strMessage = strMessage & ";CheckBox3 Checked, Date3 not Entered."
End If
End If
If strMessage & vbNullString <> vbNullString Then
MsgBox "Required input is missing:" & Replace(strMessage,";",vbCrLf)
Cancel = True
End If
End Sub
Air code, so you may have to make corrections.