オブジェクトの所有者を変更する方法

◆概要
 この資料は、Microsoft Accessでオブジェクトの所有者を変更する方法について記載しています。


 所有権とは、ユーザーが作成したデータベースやオブジェクトに対する権利のことで、データベースを開く権限などがあります。この権利は、ほかのユーザーが取り消すことができません。オブジェクトの所有者は、自分自身のみでなく、ほかのユーザーやグループにもオブジェクトに治する権限を割り当てることができます。


適切な権限がある場合は、DocumentオブジェクトのOwnerプロパティを使って、オブジェクトの所有者を変更できます。たとえば、次のプロシージャでは、カレントデータベースのすべてのオブジェクトの所有者をOrderOwnerユーザー アカウントに変更します。オブジェクトの新しい所有者は、グループ アカウントにすることもできる点に注意してください。

Sub ChangeOwnership()
    On Error GoTo Err_ChangeOwnership
    
    Dim dbs As Database, ctr As Container, doc As Document
    Dim intDocCount As Integer, intCtrCount As Integer
    
    Const conErrNoPermissions = 3033
    
    ' カレント データベースを Database 型の変数に代入します。
    Set dbs = CurrentDb
    
    ' ループを使ってデータエースのオブジェクトをすべて一巡し、
    ' 所有者をOrdersOwner アカウントに変更します。
    For intDocCount = 0 To dbs.Containers.Count - 1
        Set ctr = dbs.Containers(intDocCount)
        For intCtrCount = 0 To ctr.Documents.Count - 1
            Set doc = ctr.Documents(intCtrCount)
            doc.Owner = "OrdersOwner"
        Next intCtrCount
    Next intDocCount
    
Bye_ChangeOwnerShip:
    Exit Sub

Err_ChangeOwnership:
    If Err = conErrNoPermissions Then
        Resume Next
    Else
        MsgBox Err.Description
        Resume Bye_ChangeOwnerShip
    End If
End Sub
参照 所有権の詳細については、「14.2.1 Access ユーザー レベル セキュリティ モデル」の「所有権」を参照してください。


▼ページトップに戻る