DAO Code to remove ALL the groups that a user belongs to

Discussion in 'Access Security' started by Tony_VBACoder, Jul 1, 2004.

  1. Using DAO with security applied to a Access2002 db, how
    can I remove all the groups that a user is assigned to,
    skipping the "Users" group, since all users need to be in
    this group.

    I am trying to write code that will first remove all the
    groups and then re-add other groups.
     
    Tony_VBACoder, Jul 1, 2004
    #1
    1. Advertisements

  2. To remove a user from a group, i use:

    Public Sub RemoveFromSecGroup(strUserName As String, strGroupName As String)

    ' remove user from a group
    Dim uUser As user
    Dim gGroup As Group

    Set uUser = DBEngine.Workspaces(0).Users(strUserName)

    uUser.Groups.Delete strGroupName
    uUser.Groups.Refresh


    End Sub

    And, to walk the susers groups..you can use:

    Dim grp As Group
    Dim usr As user

    set user = DBEngine.Workspaces(0).Users("Albert")

    For Each grp In usr.Groups
    if grp.name <> "users" then
    call RemoveFromSecGroup("Albert",grp.name)
    end if
    Next


    And, here is a handy fcntion I use to test for in a group

    Public Function IsInGroup(UsrName As String, GrpName As String) As Boolean
    'Determines whether UsrName is a member of GrpName

    Dim grp As Group
    Dim IIG As Boolean
    Dim usr As user

    IIG = False
    For Each usr In DBEngine.Workspaces(0).Users
    For Each usr In DBEngine.Workspaces(0).Users
    If usr.Name = UsrName Then GoTo FoundUser
    Next

    GoTo IIG_Exit

    FoundUser:
    For Each grp In usr.Groups
    If grp.Name = GrpName Then IIG = True
    Next

    IIG_Exit:
    IsInGroup = IIG


    End Function
     
    Albert D. Kallal, Jul 1, 2004
    #2
    1. Advertisements

  3. Tony_VBACoder

    Guest

     
    , Dec 5, 2012
    #3
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.