Я создал форму, имитирующую вашу форму, как описано, и добавил следующее:
Option Compare Database
Option Explicit
Private Sub Status_AfterUpdate()
If Me.Status = "Complete" Then
If Nz(Me.Approvals, "") <> "Approved" Then
Me.Status = "Open"
End If
End If
End Sub
Private Sub Approvals_AfterUpdate()
If Me.Approvals <> "Approved" Then
If Me.Status = "Complete" Then
Me.Status = "Open"
End If
End If
End Sub
Это решение возвращает значение Open обратно, когда что-либо не соответствует вашей логике.Вы можете добавить окно сообщения, чтобы пользователь понимал, почему изменение было принудительным.