This function searches if the current user has a specific role in the database ACL. To adapt
this function you must add more StConstx constants and expand the case for each posibility.
Function HasRoleCurrentUser(StRole As String) As Integer
Dim rez As Variant
Const StConst1="@IsMember(""[ROLE1]""; @UserRoles)"
Const StConst2="@IsMember(""[ROLE2]""; @UserRoles)"
Const StConst3="@IsMember(""[ROLE3]""; @UserRoles)"
Const StConst4="@IsMember(""[ROLE4]""; @UserRoles)"
On Error Goto ErrorLabel
HasRoleCurrentUser=0
Select Case StRole
Case "[ROLE1]":
rez=Evaluate(StConst1)
Case "[ROLE2]":
rez=Evaluate(StConst2)
Case "[ROLE3]":
rez=Evaluate(StConst3)
Case "[ROLE4]":
rez=Evaluate(StConst4)
Case esle
rez(0)= 0
End Select
If rez(0)<>0 Then
HasRoleCurrentUser=1
End If
Exit Function
ErrorLabel:
'Call ErrorMessage("AccessLibrary","HasRoleCurrentUser()",Err,Erl)
Resume Next
End Function
This was first published in November 2000