Volviendo a misRegistros, como te decía es un recordset (algo temporal para usar y que luego desaparece) que usamos para acceder a registros. En tu caso a los registros que haya en los dos subformularios. Primero le decimos que se llene con los registros del primer subformulario y contamos cuantos hay, luego igual con los del segundo. Luego miramos cuantos hay en uno y en otro, si no hay en alguno avisamos y añades código para lo que quieras hacer. Si hay registros en ambos añades código donde te indico.
En este código solo debes de sustituir los nombres del Formulario1, Subformulario1, Subformulario2 y el del botón Validar por los que desees usar.
Espero te valga.
Cordiales saludos.
Private Sub Validar_Click()
On Error GoTo Err_Validar_Click
Dim msg As String, estilo, title As String
estilo = vbCritical + vbOKOnly
title = "Error en la inserción por falta de datos"
Dim miBD As Database, misRegistros As Recordset, cuantosRegistrosDeSub1 As Integer, cuantosRegistrosDeSub2 As Integer
Set miBD = CurrentDb
Set misRegistros = Forms![Formulario1]![Subformulario1].Form.RecordsetClone
With misRegistros
.MoveLast
cuantosRegistrosDeSub1 = .RecordCount
.Close
Set misRegistros = Forms![Formulario1]![Subformulario2].Form.RecordsetClone
.MoveLast
cuantosRegistrosDeSub2 = .RecordCount
.Close
End With
Set miBD = Nothing
If cuantosRegistrosDeSub1 < 1 Then
msg = "No se han podido crear los registros solicitados por no existir ningun registro en el subformulario 1."
MsgBox msg, estilo, title
'AÑADIR CÓDIGO DESEADO CUANDO NO HAYA REGISTROS EN EL SUBFORMULARIO 1
ElseIf cuantosRegistrosDeSub2 < 1 Then
msg = "No se han podido crear los registros solicitados por no existir ningun registro en el subformulario 2."
MsgBox msg, estilo, title
'AÑADIR CÓDIGO DESEADO CUANDO NO HAYA REGISTROS EN EL SUBFORMULARIO 2
Else
'AÑADIR CÓDIGO DESEADO CUANDO HAY REGISTROS EN AMBOS SUBFORMULARIOS
End If
Exit_Validar_Click:
Exit Sub
Err_Validar_Click:
MsgBox Err.Description
Resume Exit_Validar_Click
End Sub