Option Compare Database
Option Explicit
'Do not UnComment line below unless basic user rights are required
'you will then will need next number in binary series
'Public Const tcUsers As Integer = 1
Public Const tcReadOnly As Integer = 1
Public Const tcFullData As Integer = 2
Public Const tcFullPermission As Integer = 4
Public Const tcCpC As Integer = 8
Public Const tcAdmins As Integer = 16
Function tfIsMemberOfGroup(strworkspace As String, strUser As String, strGroup As String) As Boolean
Dim varTemp As Variant
Dim wrkTemp As Workspace
On Error GoTo PROC_ERR
If strworkspace = "" Then
Set wrkTemp = DBEngine.Workspaces(0)
Else
Set wrkTemp = DBEngine.Workspaces(strworkspace)
End If
varTemp = wrkTemp.Users(strUser).Groups(strGroup).Name
tfIsMemberOfGroup = True
PROC_EXIT:
Exit Function
PROC_ERR:
tfIsMemberOfGroup = False
Resume PROC_EXIT
End Function
Function tfGroupsToArray(strworkspace As String, arrin() As String) As Integer
Dim wrkTemp As Workspace
Dim intCount As Integer
Dim intcounter As Integer
On Error GoTo PROC_ERR
If strworkspace = "" Then
Set wrkTemp = DBEngine.Workspaces(0)
Else
Set wrkTemp = DBEngine.Workspaces(strworkspace)
End If
intCount = wrkTemp.Groups.Count
ReDim arrin(0 To intCount - 1)
For intcounter = 0 To intCount - 1
arrin(intcounter) = wrkTemp.Groups(intcounter).Name
Next intcounter
tfGroupsToArray = intCount
PROC_EXIT:
Exit Function
PROC_ERR:
tfGroupsToArray = 0
Resume PROC_EXIT
End Function
Public Function tfUserLevel() As Integer
Dim UserLevel As Integer
'If CurrentUser = "Ian Ward" Then
'UserLevel = 255
'else
'If tfIsMemberOfGroup("", CurrentUser, "Users") Then UserLevel = UserLevel + tcUsers
If tfIsMemberOfGroup("", CurrentUser, "ReadOnly") Then UserLevel = UserLevel + tcReadOnly
If tfIsMemberOfGroup("", CurrentUser, "FullData") Then UserLevel = UserLevel + tcFullData
If tfIsMemberOfGroup("", CurrentUser, "FullPermission") Then UserLevel = UserLevel + tcFullPermission
If tfIsMemberOfGroup("", CurrentUser, "CpC") Then UserLevel = UserLevel + tcCpC
If tfIsMemberOfGroup("", CurrentUser, "Admins") Then UserLevel = UserLevel + tcAdmins
'End If
tfUserLevel = UserLevel
End Function