<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VBA%2FExcel%2FAccess%2FWord%2FAccess%2FUser_Account</id>
		<title>VBA/Excel/Access/Word/Access/User Account - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VBA%2FExcel%2FAccess%2FWord%2FAccess%2FUser_Account"/>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Access/User_Account&amp;action=history"/>
		<updated>2026-04-06T06:31:30Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Access/User_Account&amp;diff=1408&amp;oldid=prev</id>
		<title> в 16:33, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Access/User_Account&amp;diff=1408&amp;oldid=prev"/>
				<updated>2010-05-26T16:33:00Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 16:33, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Access/User_Account&amp;diff=1409&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Access/User_Account&amp;diff=1409&amp;oldid=prev"/>
				<updated>2010-05-26T12:47:01Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Add a new user==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub UserAdd()&lt;br /&gt;
    Dim mySpace As Workspace&lt;br /&gt;
    Dim usrMark As User&lt;br /&gt;
    Dim strUsersPID As String&lt;br /&gt;
    Set mySpace = DBEngine(0)&lt;br /&gt;
    strUsersPID = &amp;quot;1234abcd&amp;quot;&lt;br /&gt;
    Set usrMark = mySpace.CreateUser(&amp;quot;Mark&amp;quot;)&lt;br /&gt;
    usrMark.Password = &amp;quot;Doc&amp;quot;&lt;br /&gt;
    usrMark.PID = strUsersPID&lt;br /&gt;
    mySpace.Users.Append usrMark&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Changing a User Password with SQL command==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub ChangeUserPassword() &lt;br /&gt;
    Dim conn As ADODB.Connection &lt;br /&gt;
    On Error GoTo ErrorHandler &lt;br /&gt;
    Set conn = CurrentProject.Connection &lt;br /&gt;
    conn.Execute &amp;quot;ALTER USER yourName PASSWORD primate passw&amp;quot; &lt;br /&gt;
ExitHere: &lt;br /&gt;
    If Not conn Is Nothing Then &lt;br /&gt;
        If conn.State = adStateOpen Then conn.Close &lt;br /&gt;
    End If &lt;br /&gt;
    Set conn = Nothing &lt;br /&gt;
    Exit Sub &lt;br /&gt;
ErrorHandler: &lt;br /&gt;
    Debug.Print Err.Number &amp;amp; &amp;quot;:&amp;quot; &amp;amp; Err.Description &lt;br /&gt;
    Resume ExitHere &lt;br /&gt;
End Sub &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Checking Permissions for a Specific Object==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub GetObjectPermissions(strUserName As String, varObjName As Variant, lngObjType As ADOX.ObjectTypeEnum) &lt;br /&gt;
    Dim conn As ADODB.Connection &lt;br /&gt;
    Dim cat As ADOX.Catalog &lt;br /&gt;
    Dim strDB As String &lt;br /&gt;
    Dim strSysDb As String &lt;br /&gt;
    Dim listPerms As Long &lt;br /&gt;
    Dim strPermsTypes As String &lt;br /&gt;
    On Error GoTo ErrorHandle &lt;br /&gt;
    strDB = CurrentProject.Path &amp;amp; &amp;quot;\mydb.mdb&amp;quot; &lt;br /&gt;
    strSysDb = CurrentProject.Path &amp;amp; &amp;quot;\mydb.mdw&amp;quot; &lt;br /&gt;
    Set conn = New ADODB.Connection &lt;br /&gt;
        With conn &lt;br /&gt;
            .Provider = &amp;quot;Microsoft.Jet.OLEDB.4.0&amp;quot; &lt;br /&gt;
            .Properties(&amp;quot;Jet OLEDB:System Database&amp;quot;) = strSysDb &lt;br /&gt;
            .Properties(&amp;quot;User ID&amp;quot;) = &amp;quot;Developer&amp;quot; &lt;br /&gt;
            .Properties(&amp;quot;Password&amp;quot;) = &amp;quot;mypass&amp;quot; &lt;br /&gt;
            .Open strDB &lt;br /&gt;
        End With &lt;br /&gt;
    Set cat = New ADOX.Catalog &lt;br /&gt;
    cat.ActiveConnection = conn &lt;br /&gt;
    cat.Users.Append &amp;quot;PowerUser&amp;quot;, &amp;quot;star&amp;quot; &lt;br /&gt;
    listPerms = cat.Users(strUserName) _ &lt;br /&gt;
        .GetPermissions(varObjName, lngObjType) &lt;br /&gt;
    Debug.Print listPerms &lt;br /&gt;
    If (listPerms And ADOX.RightsEnum.adRightCreate) = adRightCreate Then &lt;br /&gt;
        Debug.Print &amp;quot;adRightCreate&amp;quot; &amp;amp; vbCr &lt;br /&gt;
    End If &lt;br /&gt;
    If (listPerms And RightsEnum.adRightRead) = adRightRead Then &lt;br /&gt;
        Debug.Print &amp;quot;adRightRead&amp;quot; &amp;amp; vbCr &lt;br /&gt;
    End If &lt;br /&gt;
    If (listPerms And RightsEnum.adRightUpdate) = adRightUpdate Then &lt;br /&gt;
        Debug.Print &amp;quot;adRightUpdate&amp;quot; &amp;amp; vbCr &lt;br /&gt;
    End If &lt;br /&gt;
    If (listPerms And RightsEnum.adRightDelete) = adRightDelete Then &lt;br /&gt;
        Debug.Print &amp;quot;adRightDelete&amp;quot; &amp;amp; vbCr &lt;br /&gt;
    End If &lt;br /&gt;
    If (listPerms And RightsEnum.adRightInsert) = adRightInsert Then &lt;br /&gt;
        Debug.Print &amp;quot;adRightInsert&amp;quot; &amp;amp; vbCr &lt;br /&gt;
    End If &lt;br /&gt;
    If (listPerms And RightsEnum.adRightReadDesign) = adRightReadDesign Then &lt;br /&gt;
        Debug.Print &amp;quot;adRightReadDesign&amp;quot;  &lt;br /&gt;
    End If &lt;br /&gt;
ExitHere: &lt;br /&gt;
    Set cat = Nothing &lt;br /&gt;
    conn.Close &lt;br /&gt;
    Set conn = Nothing &lt;br /&gt;
    Exit Sub &lt;br /&gt;
ErrorHandle: &lt;br /&gt;
    If Err.Number = -2147467259 Then &lt;br /&gt;
        Resume Next &lt;br /&gt;
    Else &lt;br /&gt;
        MsgBox Err.Description &lt;br /&gt;
        Resume ExitHere &lt;br /&gt;
    End If &lt;br /&gt;
End Sub &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating a User Account==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub Create_User() &lt;br /&gt;
    Dim cat As ADOX.Catalog &lt;br /&gt;
    Dim conn As ADODB.Connection &lt;br /&gt;
    Dim strDB As String &lt;br /&gt;
    Dim strSysDb As String &lt;br /&gt;
    Dim strName As String &lt;br /&gt;
    On Error GoTo ErrorHandle &lt;br /&gt;
    strDB = CurrentProject.Path &amp;amp; &amp;quot;\mydb.mdb&amp;quot; &lt;br /&gt;
    strSysDb = CurrentProject.Path &amp;amp;  &amp;quot;\mydb.mdw&amp;quot; &lt;br /&gt;
    strName = &amp;quot;PowerUser&amp;quot; &lt;br /&gt;
    Set conn = New ADODB.Connection &lt;br /&gt;
        With conn &lt;br /&gt;
            .Provider = &amp;quot;Microsoft.Jet.OLEDB.4.0&amp;quot; &lt;br /&gt;
            .Properties(&amp;quot;Jet OLEDB:System Database&amp;quot;) = strSysDb &lt;br /&gt;
            .Properties(&amp;quot;User ID&amp;quot;) = &amp;quot;Developer&amp;quot; &lt;br /&gt;
            .Properties(&amp;quot;Password&amp;quot;) = &amp;quot;mypass&amp;quot; &lt;br /&gt;
            .Open strDB &lt;br /&gt;
        End With &lt;br /&gt;
    Set cat = New ADOX.Catalog &lt;br /&gt;
    With cat &lt;br /&gt;
        .ActiveConnection = conn &lt;br /&gt;
        .Users.Append strName, &amp;quot;star&amp;quot; &lt;br /&gt;
    End With &lt;br /&gt;
    Debug.Print &amp;quot;Successfully created &amp;quot; &amp;amp; strName &amp;amp; &amp;quot; user account.&amp;quot; &lt;br /&gt;
ExitHere: &lt;br /&gt;
    Set cat = Nothing &lt;br /&gt;
    conn.Close &lt;br /&gt;
    Set conn = Nothing &lt;br /&gt;
    Exit Sub &lt;br /&gt;
ErrorHandle: &lt;br /&gt;
    If Err.Number = -2147467259 Then &lt;br /&gt;
        MsgBox strName &amp;amp; &amp;quot; user already exists.&amp;quot; &lt;br /&gt;
    Else &lt;br /&gt;
        MsgBox Err.Description &lt;br /&gt;
    End If &lt;br /&gt;
    Resume ExitHere &lt;br /&gt;
End Sub &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating a User Account with SQL command==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub CreateUserAccount()&lt;br /&gt;
    Dim conn As ADODB.Connection&lt;br /&gt;
    On Error GoTo ErrorHandler&lt;br /&gt;
    Set conn = CurrentProject.Connection&lt;br /&gt;
    conn.Execute &amp;quot;CREATE USER yourName yourpass 0302&amp;quot;&lt;br /&gt;
ExitHere:&lt;br /&gt;
    If Not conn Is Nothing Then&lt;br /&gt;
        If conn.State = adStateOpen Then conn.Close&lt;br /&gt;
    End If&lt;br /&gt;
    Set conn = Nothing&lt;br /&gt;
    Exit Sub&lt;br /&gt;
ErrorHandler:&lt;br /&gt;
    Debug.Print Err.Number &amp;amp; &amp;quot;:&amp;quot; &amp;amp; Err.Description&lt;br /&gt;
    Resume ExitHere&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Deleting a User Account==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub Delete_User() &lt;br /&gt;
    Dim cat As ADOX.Catalog &lt;br /&gt;
    Dim conn As ADODB.Connection &lt;br /&gt;
    Dim strDB As String &lt;br /&gt;
    Dim strSysDb As String &lt;br /&gt;
    On Error GoTo ErrorHandle &lt;br /&gt;
    strDB = CurrentProject.Path &amp;amp;  &amp;quot;\mydb.mdb&amp;quot; &lt;br /&gt;
    strSysDb = CurrentProject.Path &amp;amp;  &amp;quot;\mydb.mdw&amp;quot; &lt;br /&gt;
    Set conn = New ADODB.Connection &lt;br /&gt;
        With conn &lt;br /&gt;
            .Provider = &amp;quot;Microsoft.Jet.OLEDB.4.0&amp;quot; &lt;br /&gt;
            .Properties(&amp;quot;Jet OLEDB:System Database&amp;quot;) = strSysDb &lt;br /&gt;
            .Properties(&amp;quot;User ID&amp;quot;) = &amp;quot;Developer&amp;quot; &lt;br /&gt;
            .Properties(&amp;quot;Password&amp;quot;) = &amp;quot;mypass&amp;quot; &lt;br /&gt;
            .Open strDB &lt;br /&gt;
        End With &lt;br /&gt;
    Set cat = New ADOX.Catalog &lt;br /&gt;
    With cat &lt;br /&gt;
        .ActiveConnection = conn &lt;br /&gt;
        .Users.Delete &amp;quot;UserName&amp;quot; &lt;br /&gt;
    End With &lt;br /&gt;
ExitHere: &lt;br /&gt;
    Set cat = Nothing &lt;br /&gt;
    conn.Close &lt;br /&gt;
    Set conn = Nothing &lt;br /&gt;
    Exit Sub &lt;br /&gt;
ErrorHandle: &lt;br /&gt;
    If Err.Number = 3265 Then &lt;br /&gt;
        cat.Users.Append &amp;quot;UserName&amp;quot;, &amp;quot;star&amp;quot; &lt;br /&gt;
        Resume &lt;br /&gt;
    Else &lt;br /&gt;
        MsgBox Err.Description &lt;br /&gt;
        Resume ExitHere &lt;br /&gt;
    End If &lt;br /&gt;
End Sub &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Enumerate group and users==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub EnumGroupsAndUsers()&lt;br /&gt;
    Dim grp As Group&lt;br /&gt;
    Dim usr As User&lt;br /&gt;
    For Each usr In DBEngine(0).Users&lt;br /&gt;
        Debug.Print usr.Name&lt;br /&gt;
        For Each grp In usr.Groups&lt;br /&gt;
            Debug.Print vbTab; grp.Name&lt;br /&gt;
        Next&lt;br /&gt;
    Next&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Listing All User Accounts==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub List_Users() &lt;br /&gt;
    Dim conn As ADODB.Connection &lt;br /&gt;
    Dim cat As ADOX.Catalog &lt;br /&gt;
    Dim myUser As New ADOX.User &lt;br /&gt;
    Dim strDB As String &lt;br /&gt;
    Dim strSysDb As String &lt;br /&gt;
    strDB = CurrentProject.Path &amp;amp; &amp;quot;\mydb.mdb&amp;quot; &lt;br /&gt;
    strSysDb = CurrentProject.Path &amp;amp; &amp;quot;\mydb.mdw&amp;quot; &lt;br /&gt;
    Set conn = New ADODB.Connection &lt;br /&gt;
        With conn &lt;br /&gt;
            .Provider = &amp;quot;Microsoft.Jet.OLEDB.4.0&amp;quot; &lt;br /&gt;
            .Properties(&amp;quot;Jet OLEDB:System Database&amp;quot;) = strSysDb &lt;br /&gt;
            .Properties(&amp;quot;User ID&amp;quot;) = &amp;quot;Developer&amp;quot; &lt;br /&gt;
            .Properties(&amp;quot;Password&amp;quot;) = &amp;quot;mypass&amp;quot; &lt;br /&gt;
            .Open strDB &lt;br /&gt;
        End With &lt;br /&gt;
    Set cat = New ADOX.Catalog &lt;br /&gt;
    cat.ActiveConnection = conn &lt;br /&gt;
    For Each myUser In cat.Users &lt;br /&gt;
        Debug.Print myUser.Name &lt;br /&gt;
    Next &lt;br /&gt;
    Set cat = Nothing &lt;br /&gt;
    conn.Close &lt;br /&gt;
    Set conn = Nothing &lt;br /&gt;
End Sub &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Retrieving the Name of the Object Owner==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub Get_ObjectOwner()&lt;br /&gt;
    Dim conn As ADODB.Connection&lt;br /&gt;
    Dim cat As ADOX.Catalog&lt;br /&gt;
    Dim strObjName As Variant&lt;br /&gt;
    Dim strDB As String&lt;br /&gt;
    Dim strSysDb As String&lt;br /&gt;
    strDB = CurrentProject.Path &amp;amp; &amp;quot;\mydb.mdb&amp;quot;&lt;br /&gt;
    strSysDb = CurrentProject.Path &amp;amp; &amp;quot;\mydb.mdw&amp;quot;&lt;br /&gt;
    strObjName = &amp;quot;Customers&amp;quot;&lt;br /&gt;
    Set conn = New ADODB.Connection&lt;br /&gt;
        With conn&lt;br /&gt;
            .Provider = &amp;quot;Microsoft.Jet.OLEDB.4.0&amp;quot;&lt;br /&gt;
            .Properties(&amp;quot;Jet OLEDB:System Database&amp;quot;) = strSysDb&lt;br /&gt;
            .Properties(&amp;quot;User ID&amp;quot;) = &amp;quot;Developer&amp;quot;&lt;br /&gt;
            .Properties(&amp;quot;Password&amp;quot;) = &amp;quot;mypass&amp;quot;&lt;br /&gt;
            .Open strDB&lt;br /&gt;
        End With&lt;br /&gt;
    Set cat = New ADOX.Catalog&lt;br /&gt;
    cat.ActiveConnection = conn&lt;br /&gt;
    Debug.Print &amp;quot;The owner of the &amp;quot; &amp;amp; strObjName &amp;amp; &amp;quot; table is &amp;quot; &amp;amp; vbCr _&lt;br /&gt;
      &amp;amp; cat.GetObjectOwner(strObjName, adPermObjTable) &amp;amp; &amp;quot;.&amp;quot;&lt;br /&gt;
    Set cat = Nothing&lt;br /&gt;
    conn.Close&lt;br /&gt;
    Set conn = Nothing&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Setting User Permissions for a Database==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub Set_UserDbPermissions() &lt;br /&gt;
    Dim conn As ADODB.Connection &lt;br /&gt;
    Dim cat As ADOX.Catalog &lt;br /&gt;
    Dim strDB As String &lt;br /&gt;
    Dim strSysDb As String &lt;br /&gt;
    On Error GoTo ErrorHandle &lt;br /&gt;
    strDB = CurrentProject.Path &amp;amp; &amp;quot;\mydb.mdb&amp;quot; &lt;br /&gt;
    strSysDb = CurrentProject.Path &amp;amp; &amp;quot;\mydb.mdw&amp;quot; &lt;br /&gt;
    Set conn = New ADODB.Connection &lt;br /&gt;
        With conn &lt;br /&gt;
            .Provider = &amp;quot;Microsoft.Jet.OLEDB.4.0&amp;quot; &lt;br /&gt;
            .Properties(&amp;quot;Jet OLEDB:System Database&amp;quot;) = strSysDb &lt;br /&gt;
            .Properties(&amp;quot;User ID&amp;quot;) = &amp;quot;Developer&amp;quot; &lt;br /&gt;
            .Properties(&amp;quot;Password&amp;quot;) = &amp;quot;mypass&amp;quot; &lt;br /&gt;
            .Open strDB &lt;br /&gt;
        End With &lt;br /&gt;
    Set cat = New ADOX.Catalog &lt;br /&gt;
    cat.ActiveConnection = conn &lt;br /&gt;
    cat.Users.Append &amp;quot;PowerUser&amp;quot;, &amp;quot;star&amp;quot; &lt;br /&gt;
    cat.Users(&amp;quot;PowerUser&amp;quot;).SetPermissions &amp;quot; &amp;quot;, adPermObjDatabase, _ &lt;br /&gt;
            adAccessSet, adRightExclusive &lt;br /&gt;
ExitHere: &lt;br /&gt;
    Set cat = Nothing &lt;br /&gt;
    conn.Close &lt;br /&gt;
    Set conn = Nothing &lt;br /&gt;
    Exit Sub &lt;br /&gt;
ErrorHandle: &lt;br /&gt;
    If Err.Number = -2147467259 Then &lt;br /&gt;
        Resume Next &lt;br /&gt;
    Else &lt;br /&gt;
        MsgBox Err.Description &lt;br /&gt;
        Resume ExitHere &lt;br /&gt;
    End If &lt;br /&gt;
End Sub &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Setting User Permissions for an Object==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub Set_UserObjectPermissions() &lt;br /&gt;
    Dim conn As ADODB.Connection &lt;br /&gt;
    Dim cat As ADOX.Catalog &lt;br /&gt;
    Dim strDB As String &lt;br /&gt;
    Dim strSysDb As String &lt;br /&gt;
    On Error GoTo ErrorHandle &lt;br /&gt;
    strDB = CurrentProject.Path &amp;amp; &amp;quot;\mydb.mdb&amp;quot; &lt;br /&gt;
    strSysDb = CurrentProject.Path &amp;amp; &amp;quot;\mydb.mdw&amp;quot; &lt;br /&gt;
    Set conn = New ADODB.Connection &lt;br /&gt;
        With conn &lt;br /&gt;
            .Provider = &amp;quot;Microsoft.Jet.OLEDB.4.0&amp;quot; &lt;br /&gt;
            .Properties(&amp;quot;Jet OLEDB:System Database&amp;quot;) = strSysDb &lt;br /&gt;
            .Properties(&amp;quot;User ID&amp;quot;) = &amp;quot;Developer&amp;quot; &lt;br /&gt;
            .Properties(&amp;quot;Password&amp;quot;) = &amp;quot;mypass&amp;quot; &lt;br /&gt;
            .Open strDB &lt;br /&gt;
        End With &lt;br /&gt;
    Set cat = New ADOX.Catalog &lt;br /&gt;
    cat.ActiveConnection = conn &lt;br /&gt;
    cat.Users.Append &amp;quot;PowerUser&amp;quot;, &amp;quot;star&amp;quot; &lt;br /&gt;
    cat.Users(&amp;quot;PowerUser&amp;quot;).SetPermissions &amp;quot;Customers&amp;quot;, _ &lt;br /&gt;
        adPermObjTable, _ &lt;br /&gt;
        adAccessSet, _ &lt;br /&gt;
        adRightRead Or _ &lt;br /&gt;
        adRightInsert Or _ &lt;br /&gt;
        adRightUpdate Or _ &lt;br /&gt;
        adRightDelete &lt;br /&gt;
ExitHere: &lt;br /&gt;
    Set cat = Nothing &lt;br /&gt;
    conn.Close &lt;br /&gt;
    Set conn = Nothing &lt;br /&gt;
    Exit Sub &lt;br /&gt;
ErrorHandle: &lt;br /&gt;
    If Err.Number = -2147467259 Then &lt;br /&gt;
        Debug.Print &amp;quot;PowerUser user already exists.&amp;quot; &lt;br /&gt;
        Resume Next &lt;br /&gt;
    Else &lt;br /&gt;
        Debug.Print Err.Description &lt;br /&gt;
        Resume ExitHere &lt;br /&gt;
    End If &lt;br /&gt;
End Sub &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Setting User Permissions for Containers==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub Set_UserContainerPermissions() &lt;br /&gt;
    Dim conn As ADODB.Connection &lt;br /&gt;
    Dim cat As ADOX.Catalog &lt;br /&gt;
    Dim strDB As String &lt;br /&gt;
    Dim strSysDb As String &lt;br /&gt;
    On Error GoTo ErrorHandle &lt;br /&gt;
    strDB = CurrentProject.Path &amp;amp; &amp;quot;\mydb.mdb&amp;quot; &lt;br /&gt;
    strSysDb = CurrentProject.Path &amp;amp; &amp;quot;\mydb.mdw&amp;quot; &lt;br /&gt;
    Set conn = New ADODB.Connection &lt;br /&gt;
        With conn &lt;br /&gt;
            .Provider = &amp;quot;Microsoft.Jet.OLEDB.4.0&amp;quot; &lt;br /&gt;
            .Properties(&amp;quot;Jet OLEDB:System Database&amp;quot;) = strSysDb &lt;br /&gt;
            .Properties(&amp;quot;User ID&amp;quot;) = &amp;quot;Developer&amp;quot; &lt;br /&gt;
            .Properties(&amp;quot;Password&amp;quot;) = &amp;quot;mypass&amp;quot; &lt;br /&gt;
            .Open strDB &lt;br /&gt;
        End With &lt;br /&gt;
    Set cat = New ADOX.Catalog &lt;br /&gt;
    cat.ActiveConnection = conn &lt;br /&gt;
    cat.Users.Append &amp;quot;PowerUser&amp;quot;, &amp;quot;star&amp;quot; &lt;br /&gt;
    cat.Users(&amp;quot;PowerUser&amp;quot;).SetPermissions Null, _ &lt;br /&gt;
        adPermObjTable, _ &lt;br /&gt;
        adAccessSet, _ &lt;br /&gt;
        adRightRead Or _ &lt;br /&gt;
        adRightInsert Or _ &lt;br /&gt;
        adRightUpdate Or _ &lt;br /&gt;
        adRightDelete, adInheritNone &lt;br /&gt;
ExitHere: &lt;br /&gt;
    Set cat = Nothing &lt;br /&gt;
    conn.Close &lt;br /&gt;
    Set conn = Nothing &lt;br /&gt;
    Exit Sub &lt;br /&gt;
ErrorHandle: &lt;br /&gt;
    If Err.Number = -2147467259 Then &lt;br /&gt;
        Resume Next &lt;br /&gt;
    Else &lt;br /&gt;
        MsgBox Err.Description &lt;br /&gt;
        Resume ExitHere &lt;br /&gt;
    End If &lt;br /&gt;
End Sub &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>