This example demonstrates the Append method of Groups, as well as the Append method of Users by adding a new Group and a new User to the system. The new Group is appended to the Groups collection of the new User. Consequently, the new User is added to the Group. Also, the ChangePassword method is used to specify the User password.
' BeginGroupVB Sub Main() On Error GoTo GroupXError Dim cat As ADOX.Catalog Dim usrNew As ADOX.User Dim usrLoop As ADOX.User Dim grpLoop As ADOX.Group Set cat = New ADOX.Catalog cat.ActiveConnection = "Provider='Microsoft.Jet.OLEDB.4.0';" & _ "Data Source='c:\Program Files\" & _ "Microsoft Office\Office\Samples\Northwind.mdb';" & _ "jet oledb:system database=" & _ "'c:\Program Files\Microsoft Office\Office\system.mdw'" With cat 'Create and append new group with a string. .Groups.Append "Accounting" ' Create and append new user with an object. Set usrNew = New ADOX.User usrNew.Name = "Pat Smith" usrNew.ChangePassword "", "Password1" .Users.Append usrNew ' Make the user Pat Smith a member of the ' Accounting group by creating and adding the ' appropriate Group object to the user's Groups ' collection. The same is accomplished if a User ' object representing Pat Smith is created and ' appended to the Accounting group Users collection usrNew.Groups.Append "Accounting" ' Enumerate all User objects in the ' catalog's Users collection. For Each usrLoop In .Users Debug.Print " " & usrLoop.Name Debug.Print " Belongs to these groups:" ' Enumerate all Group objects in each User ' object's Groups collection. If usrLoop.Groups.Count <> 0 Then For Each grpLoop In usrLoop.Groups Debug.Print " " & grpLoop.Name Next grpLoop Else Debug.Print " [None]" End If Next usrLoop ' Enumerate all Group objects in the default ' workspace's Groups collection. For Each grpLoop In .Groups Debug.Print " " & grpLoop.Name Debug.Print " Has as its members:" ' Enumerate all User objects in each Group ' object's Users collection. If grpLoop.Users.Count <> 0 Then For Each usrLoop In grpLoop.Users Debug.Print " " & usrLoop.Name Next usrLoop Else Debug.Print " [None]" End If Next grpLoop ' Delete new User and Group objects because this ' is only a demonstration. ' These two line are commented out because the sub "OwnersX" uses ' the group "Accounting". ' .Users.Delete "Pat Smith" ' .Groups.Delete "Accounting" End With 'Clean up Set cat.ActiveConnection = Nothing Set cat = Nothing Set usrNew = Nothing Exit Sub GroupXError: Set cat = Nothing Set usrNew = Nothing If Err <> 0 Then MsgBox Err.Source & "-->" & Err.Description, , "Error" End If End Sub ' EndGroupVB
Append Method (Groups) | Append Method (Users) | Catalog Object | ChangePassword Method | Group Object | Groups Collection | User Object | Users Collection