Vamos a ver si consigo explicarme. No le hagas caso al diseño de las tablas y los formularios porque trato de aprovechar tablas de la base de datos Neptuno. Supongamos que tengo una tabla Tabla1 con los datos de Idcliente y NombreCliente, que correspondería a la tuya de Datos Pertonales, y voy a usar el Idcliente como tu Expte.

También tengo una tabla Pedidos, que equivaldría a la tuya de Documentos

Verás que el cliente 4 Around... no tienepedidos( documentos) asociados
Si construyo el formulario Tabla1, como te decía

Y en el evento Al activar Registro le pongo
Private Sub Form_Current()
If Nz(DCount("*", "pedidos", "idcliente =" & Me.IdCliente & "")) >= 1 Then
Documento.BackColor = vbYellow
Else
Documento.BackColor = vbWhite
End If
End SubCuando más tarde esté en un registro que tenga pedidos( documentos) asociados el botón se pondrá amarillo, y si no tiene seguirá en blanco.
En el evento Al hacer clic del botón Documento le pongo
Private Sub Documento_Click()
If DCount("*", "pedidos", "idcliente=" & Me.IdCliente & "") >= 1 Then
DoCmd.OpenForm "pedidos", , , "idcliente=" & Me.IdCliente & "", , acDialog
Else
DoCmd.OpenForm "pedidos", , , , acFormAdd, acDialog
End If
End SubEs decir, que si en Pedidos(documentos) este Idcliente tiene registros asociados, abra el formulario en vista diálogo con todos esos registros, pero que si no tiene ninguno, lo abra en un registro nuevo para añadir uno.
Por otro lado, en el evento Al activar registro del formulario Pedidos le pongo
Private Sub Form_Current()
If CurrentProject.AllForms("tabla1").IsLoaded And Me.NewRecord Then
IdCliente = Forms!tabla1!IdCliente
End If
End SubEs decir, que si el formulario Tabla1 está cargado y es un registro nuevo, que el valor de idcliente(expte) sea igual al del formulario Tabla1.
Entonces

Como el Idcliente1 tiene registros asociados el botón se ve en amarillo. Al pulsarlo

Me abre el formulario Pedidos(documentos) con los asociados. Cuando en un registro no tiene

Al pulsar el botón, se abre Pedidos y como es un registro nuevo, ya me pone el Idcliente( en el combinado muestra el nombre, pero el valor es el de Idcliente, ya te dije que uso formularios ya hechos)

Relleno Datos

Y al cerrar, cuando vaya a ese registro

Ya me aparece en amarillo. En el evento Al cerrar del formulario Pedidos, le tengo puesto
Private Sub Form_Close()
Forms!tabla1.Requery
End Sub