Option Compare Database
Option Explicit
Private prvbooCanAddDepartments As Boolean
Private prvbooCanEditDepartments As Boolean
Private prvbooCanDeleteDepartments As Boolean
Private Const cstrUserPermissions As String = "qryUserPermissions"
Public Property Get CanAddDepartments() As Boolean
CanAddDepartments = prvbooCanAddDepartments
End Property ' CanAddDepartments
Public Property Let CanAddDepartments(ByRef param_CanAddDepartments As Boolean)
prvbooCanAddDepartments = param_CanAddDepartments
End Property ' CanAddDepartments
Public Property Get CanEditDepartments() As Boolean
CanEditDepartments = prvbooCanEditDepartments
End Property ' CanEditDepartments
Public Property Let CanEditDepartments(ByRef param_CanEditDepartments As Boolean)
prvbooCanEditDepartments = param_CanEditDepartments
End Property ' CanEditDepartments
Public Property Get CanDeleteDepartments() As Boolean
CanDeleteDepartments = prvbooCanDeleteDepartments
End Property ' CanDeleteDepartments
Public Property Let CanDeleteDepartments(ByRef param_CanDeleteDepartments As Boolean)
prvbooCanDeleteDepartments = param_CanDeleteDepartments
End Property ' CanDeleteDepartments
Private Sub Class_Initialize()
Me.CanAddDepartments = HasProperty(User.UserLevel, "DepartmentAdd")
Me.CanEditDepartments = HasProperty(User.UserLevel, "DepartmentEdit")
Me.CanDeleteDepartments = HasProperty(User.UserLevel, "DepartmentDelete")
End Sub ' Class_Initialize
Public Function HasProperty(ByRef strUserLevel As String, ByRef strCode As String) As Boolean
' create a DAO.Recordset object
Dim rsPerm As DAO.Recordset
' create a DAO.QueryDef object
Dim qdPerm As DAO.QueryDef
' align the DAO.QueryDef with the permissions query
Set qdPerm = ThisApp.DB.QueryDefs(cstrUserPermissions)
' Populate the parameters for the DAO.QueryDef object
qdPerm.Parameters(0) = Nz(strUserLevel)
qdPerm.Parameters(1) = Nz(strCode)
' Open the recordset with parameters applied
Set rsPerm = qdPerm.OpenRecordset
' if there are records, the user does has the property
If rsPerm.RecordCount <> 0 Then
HasProperty = True
End If
End Function ' HasProperty