Devi creare un modulo separato all'interno del quale metti questo codice:
codice:
Function ApriAoBoC()
' se l'utente è Admin apre MasA
If CurrentUser() = "Admin" Then
DoCmd.OpenForm "MasA", acNormal, "", "", , acNormal
' se l'utente è Marco apre MasB
ElseIf CurrentUser() = "Marco" Then
DoCmd.OpenForm "MasB", acNormal, "", "", , acNormal
' Per tutti gli altri utenti apre MasC
Else
DoCmd.OpenForm "MasC", acNormal, "", "", , acNormal
End If
End Function
Con queso esempio puoi aprire 3 diverse maschere
MasA x Admin
MasB x Marco
MasC x Tutti gli altri
__________________________________________________ ____________________________
__________________________________________________ ____________________________
__________________________________________________ ____________________________
IN ALTERNATIVA se le maschere da aprire sono fra di loro simili
puoi optare per avere un'unica maschera
e su questa all'evento di caricamento ( load )
vai a definire le autorizzazioni utente.
Quindi nel modulo interno della maschera ( NON un modulo separato )
scrivi questo codice:
codice:
Private Sub Form_Load()
' QUESTO MODULO è INTERNO ALLA MASCHERA DA APRIRE
' Se utente è Admin ha tutte le autorizzazioni
If CurrentUser() = "Admin" Then
Me.AllowAdditions = True
Me.AllowDeletions = True
Me.AllowEdits = True
' Se utente è Marco non puo eliminare record
ElseIf CurrentUser() = "Marco" Then
Me.AllowAdditions = True
Me.AllowDeletions = False
Me.AllowEdits = True
' Tutti gli altri: non aggiungono, non cancellano, non modificano, ( Sola lettura )
Else
Me.AllowAdditions = False
Me.AllowDeletions = False
Me.AllowEdits = False
End If
End Sub
Ottieni che all'apertura VBA controlla l'utente e da le autorizzazioni
desiderate. ( queste le devi calibrare te )