如何在程序中对动态生成的access数据库中设置对msysobject的permission?

yinduasan111 2003-09-26 07:54:08
如果是已经存在的access数据库,可以在access里设置user and group permission从而在程序中能有权限读出msysobject的内容,但是对于动态生成的access数据库应该怎么办呢?
...全文
35 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
changechange 2003-09-27
  • 打赏
  • 举报
回复
本范例演示 GetPermissions 和 SetPermissions 方法。下面的代码将赋予管理员用户对 Orders 表的完全访问权限。

Sub GrantPermissions()

Dim cnn As New ADODB.Connection
Dim cat As New ADOX.Catalog
Dim lngPerm As Long

' Opens a connection to the northwind database
' using the Microsoft Jet 4.0 provider
cnn.Provider = "Microsoft.Jet.OLEDB.4.0"
cnn.Open "data source=c:\Program Files\" & _
"Microsoft Office\Office\Samples\Northwind.mdb;" & _
"jet oledb:system database=" & _
"c:\Program Files\Microsoft Office\Office\system.mdw"

Set cat.ActiveConnection = cnn

' Retrieve original permissions
lngPerm = cat.Users("admin").GetPermissions("Orders", adPermObjTable)
Debug.Print "Original permissions: " & Str(lngPerm)

' Revoke all permissions
cat.Users("admin").SetPermissions "Orders", adPermObjTable, _
adAccessRevoke, adRightFull

' Display permissions
Debug.Print "Revoked permissions: " & _
Str(cat.Users("admin").GetPermissions("Orders", adPermObjTable))

' Give the Admin user full rights on the orders object
cat.Users("admin").SetPermissions "Orders", adPermObjTable, _
adAccessSet, adRightFull

' Display permissions
Debug.Print "Full permissions: " & _
Str(cat.Users("admin").GetPermissions("Orders", adPermObjTable))

' Restore original permissions
cat.Users("admin").SetPermissions "Orders", adPermObjTable, _
adAccessSet, lngPerm

' Display permissions
Debug.Print "Final permissions: " & _
Str(cat.Users("admin").GetPermissions("Orders", adPermObjTable))


7,714

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧