L'altra soluzione che ti accennavo prevede di BLOCCARE in EDITAZIONE i controlli...!
Ti scrivo una bozza di codice...
Option Compare Database
Option Explicit
Private Function ControlState(blState As Boolean)
    Dim ctl As Access.Control
    For Each ctl In Me.Controls
         Select Case ctl.ControlType
               Case AcControlType.acTextBox, _
                    AcControlType.acComboBox, _
                    AcControlType.acListBox, _
                    AcControlType.acCheckBox, _
                    AcControlType.acOptionButton, _
                    AcControlType.acOptionGroup, _
                    AcControlType.acToggleButton
                    ' Questi sono TUTTI i controlli DATABOUND
                    If Len(ctl.ControlSource)>0 then ctl.Locked = blState
         End Select
    Next
End Sub
Quindi se su Load richiami questa Routine così
Private Sub Form_Load()
     Call ControlState(Me!CampoBooleano)
End Sub
Private Sub Form_Current()
     Call ControlState(Me!CampoBooleano)
End Sub
Quindi metti un Button nel Pie di Pagina Maschera sul quale su CLICK scrivi:
Private Sub NomeButton_Click()
    If MsgBox("Vuoi ABILITARE TUTTO...?", vbYesNo, "ALLERT") = vbYes Then
            Call ControlState(False)
    End If
End Sub
Se vuoi o meno pwd oppure gestisci un LOGIN iniziale...!
Ora in realtà la cosa è un pò più complessa... in quanto ci sarebbero da discriminare CONTROLLI ASSOCIATI da CONTROLLI CALCOLATI... ma io ti ho fatto solo un'esempio...