ユーザーアカウントを追加する方法

◆概要
 この資料は、Microsoft Accessでユーザーアカウントを追加する方法について記載しています。


CreateUser、Appendメソッド

 DAOでは、データベースに対する権限を持つユーザーアカウントを追加することができます。

 ユーザーアカウントを追加するには、CreateUserメソッドで追加します。

 書式:Set ユーザー変数=オブジェクト.ユーザー名 パーソナルID


 パーソナルIDは、半角4文字以上20文字以下の英数字で指定します。

Function AddUser()
    Dim n_user as User
 
    ' ユーザーアカウントを作成する
     Set n_user=DBEngine.Workspaces(0).CreateUser("鈴木","suzuki")
    DBEngine.WOrkspaces(0).Users.Append n_user
End Function

■Access ユーザーセキュリティ モデルにおいてユーザーアカウントを追加するには


次の例は、管理者「SuperAdmin」そのパスワード「ms1234」を前提に、Access ユーザーセキュリティ モデルにおいてユーザーアカウントを追加します。セキュリティ ウィザードを使ってあらかじめ、対象となるデータベースのグループ情報ファイルを作成し、管理者グループ、ユーザーグループから権限をすべて削除し、SuperAdminにはすべてのオブジェクトに管理者権限を与えておきます。

Sub btnAddUser_Click()
    Dim strNewUserName as String
    Dim strNewPass as String
    
    ' Bobというユーザーを追加します。パスワードは1234
    strNewUserName="Bob"
    strNewPass="1234"

    ' 新しいManager用にユーザー アカウントを新規に作成します。
        Call CUser(strNewUserName, "g1234", strNewPass, "Users")
End sub

Function CUser(uname As String, upin As String, upwd As String, _
   gname As String)
'===============================================================
' 機能:新しいユーザーをユーザーグループに追加する
' 引数:第一引数はユーザー名、第二引数はSID
' 第三引数はパスワード、第4引数はグループ名
'===============================================================

   Dim u  As user, w As Workspace, g As Group
   ' 管理者の名前とパスワードを使って新しいワークスペースを作成し、
   ' 新しいワークスペースでデータベースを開きます。一般ユーザーでは成功しない
    Set w = DBEngine.CreateWorkspace("NewWorkspace", _
        "SuperAdmin", "ms1234")

   Set u = w.CreateUser(uname, upin, upwd) 'Create a user for the
                                           'Access session.
   w.Users.Append u                        'Add user to workspace.
   w.Users.Refresh
   Set g = w.Groups(gname)
   Set u = g.CreateUser(uname)             ' グループに新しいユーザーを作成
                                            
   g.Users.Append u                        ' 新しいユーザーをグループに追加
   g.Users.Refresh
   
   ' Managersグループにユーザーを追加します。
   ' 既にこのユーザーは、[ユーザーグループ]グループに追加されているので
   ' このアカウントのインスタンスを作成しなければ、ユーザー グループに追加することは
   ' できません。
    Set g = w.Groups("Managers")    ' Managersグループ
    Set u = g.CreateUser(uname)
    g.Users.Append u                ' 新しいユーザーをグループに追加
    g.Users.Refresh
   ' ワークスペースを閉じます。
   w.Close
End Function



▼ページトップに戻る