Mi sono accorto di un errore!
In realtà partivo con i permessi di modifica e aggiunta della maschera intera bloccati (da proprietà). Quindi il codice che avevo scritto prima non funzionava perché non potevano essere apportate modifiche (quindi l'interruttore non poteva agire).
Per ora ho tolto i permessi e ho commentato le righe con "Me.AllowsXXXXX" in modo da controllare se almeno funziona l'interruttore. ora funziona e cambia l'etichetta.
EDIT: Risolto
Ho risolto mettendo un tag "BLOCCA" nelle proprietà delle caselle di testo da bloccare e con il seguente codice:
codice:
Function SetActiveState(Value as Boolean)
Dim ctl as Access.Control
For each ctl in Me.Controls
Select Case ctl.ControlType
Case acTextBox
If ctl.TAG="BLOCCA" Then
ctl.Locked=Value
End If
End Select
Next
End Function
e ho poi richiamato la funzione nel codice dell'interruttore, impostando dall'inizio le caselle bloccate:
codice:
Private Sub Form_Current()
Interruttore71.Caption = "Modifica Dati"
Call SetActiveState(True)
End Sub
Private Sub Interruttore71_Click()
If Interruttore71.Value = True Then
Interruttore71.Caption = "Fine Modifica"
Call SetActiveState(False)
Else
Interruttore71.Caption = "Modifica Dati"
Call SetActiveState(True)
End If
End Sub
Mi resta da risolvere il problema che ora misteriosamente non mi scorre più tra i record e la maschera si apre vuota...