グループ/ユーザーに権限を割り当てる方法

◆概要
 この資料は、Microsoft Accessでグループ/ユーザーに権限を割り当てる方法について記載しています。


Append、CreateGroupメソッド

 グループ/ユーザーに権限を割り当てるには、Containersオブジェクトをドキュメント変数に代入し、UserNameプロパティでグループ名/ユーザー名、Permissionプロパティで権限の種類を設定します。

 次の例は、グループアカウント「A組」のテーブル「住所録」に関する権限を「読み取り」のみにします。

Function SetPermission
   Dim db a Database
   Dim dc as Document

   ' カレントデータベースをデータベース変数「db」に代入する
   Set db=CurrentDb
   ' オブジェクト、ユーザー、権限の種類を設定する
   Set dc=db.Containers("Tables")!住所録
  dc.UserName="A組"
  dc.Permissions=dbSecRetrieveData
End Function

DocumentオブジェクトのUserNameプロパティとPermissionsプロパティを使うと、オブジェクトに対する権限を割り当てることができます。たとえば、次のプロシージャは前のChangeOwnershipプロシージャを修正したもので、受注管理サンプルアプリケーションのすべてのオブジェクトに対するすべての権限をManagersグループアカウントに割り当てます。

Sub AssignPerms()
    
        ' Database 型と Integer 型の変数を宣言します。
        Dim dbs As DATABASE, intDocCount As Integer, intCtrCount As Integer
        
        ' カレントデータベースをDatabase 型の変数に代入します。
        Set dbs = CurrentDb
        
        ' ループを使ってデータベースの Document オブジェクトをすべて一巡し、
        ' すべての権限をManagers グループアカウントに割り当てます。
        For intDocCount = 0 To dbs.Containers.Count - 1
            For intCtrCount = 0 To dbs.Containers(intDocCount).Documents _
                .Count - 1
                dbs.Containers(intDocCount).Documents(intCtrCount) _
                    .UserName = "Managers"
                dbs.Containers(intDocCount).Documents(intCtrCount) _
                    .Permissions = dbSecFullAccess
            Next intCtrCount
        Next intDocCount
End Sub

参照 権限の詳細については、「14.2.1 Accessユーザーレベル セキュリティ モデル」の「権限」を参照してください。




▼ページトップに戻る