Пример использования методов GetObjectOwner и SetObjectOwner (VB)
Область применения: Access 2013, Office 2013
В этом примере демонстрируются методы GetObjectOwner и SetObjectOwner . В этом коде предполагается существование учетной записи группы (см. примеры методов Groups и Users Add, ChangePassword (VB), чтобы узнать, как добавить эту группу в систему). Для владельца таблицы Категорий задано значение Бухгалтерия.
' BeginOwnersVB
Sub Main()
On Error GoTo OwnersXError
Dim tblLoop As New ADOX.Table
Dim cat As New ADOX.Catalog
Dim strOwner As String
' Open the 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'"
' Print the original owner of Categories
strOwner = cat.GetObjectOwner("Categories", adPermObjTable)
Debug.Print "Owner of Categories: " & strOwner
' Set the owner of Categories to Accounting
cat.SetObjectOwner "Categories", adPermObjTable, "Accounting"
' List the owners of all tables and columns in the catalog.
For Each tblLoop In cat.Tables
Debug.Print "Table: " & tblLoop.Name
Debug.Print " Owner: " & _
cat.GetObjectOwner(tblLoop.Name, adPermObjTable)
Next tblLoop
' Restore the original owner of Categories
cat.SetObjectOwner "Categories", adPermObjTable, strOwner
'Clean up
Set cat.ActiveConnection = Nothing
Set cat = Nothing
Exit Sub
OwnersXError:
Set cat = Nothing
If Err <> 0 Then
MsgBox Err.Source & "-->" & Err.Description, , "Error"
End If
End Sub
' EndOwnersVB