استبدل FrmAbilities في Defs بالتالي
Public Sub FrmAbilities(frmName As String)
Dim SF As Control, strsbfrm As String
With MyUser
ContinueCode = True
Forms(frmName).AllowAdditions = IIf(DLookup("A", "Frm Ability", "sn=" & [Forms]![frm-UserLogon]![user]) = -1, True, False)
Forms(frmName).AllowEdits = IIf(DLookup("E", "Frm Ability", "sn=" & [Forms]![frm-UserLogon]![user]) = -1, True, False)
Forms(frmName).AllowDeletions = IIf(DLookup("D", "Frm Ability", "sn=" & [Forms]![frm-UserLogon]![user]) = -1, True, False)
For Each SF In Forms(frmName).Controls
If SF.ControlType = acSubform Then
strsbfrm = SF.SourceObject
If Not IsNull(DLookup("FRM", "FRMS", "FRM = '" & strsbfrm & "'")) Then
If .GetAbility(strsbfrm, OpenForm) Then
SF.Form.AllowAdditions = .GetAbility(strsbfrm, Add)
SF.Form.AllowEdits = .GetAbility(strsbfrm, Edit)
SF.Form.AllowDeletions = .GetAbility(strsbfrm, del)
Else
SF.SourceObject = ""
SF.Visible = False
End If
Else
SF.Form.AllowAdditions = Forms(frmName).AllowAdditions
SF.Form.AllowEdits = Forms(frmName).AllowEdits
SF.Form.AllowDeletions = Forms(frmName).AllowDeletions
End If
End If
Next
End With
End Sub