Groups 和 Users Append、ChangePassword 方法範例 (VB)
此範例會示範 Groups 的 Append 方法,以及藉由將新的 Group 與新的 User 新增至系統,來示範 Users 的 Append 方法。 新的 Group 會附加至新 User 的 Groups 集合。 因此,新的 User 會新增至 Group。 此外,ChangePassword 方法可用於指定 User 密碼。
注意
如果您要連線至支援 Windows 驗證的資料來源提供者,您應該指定 Trusted_Connection=yes 或 Integrated Security = SSPI,而非在連接字串中指定使用者識別碼和密碼資訊。
' 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='Northwind.mdb';" & _
"jet oledb:system database=" & _
"'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 方法 (ADOX Groups)
Append 方法 (ADOX Users)
Catalog 物件 (ADOX)
ChangePassword 方法 (ADOX)
Group 物件 (ADOX)
Groups 集合 (ADOX)
User 物件 (ADOX)
Users 集合 (ADOX)