无法更改 MS Access MSysObjects 的权限 table

Unable to change permissions on MS Access MSysObjects table

我运行在 Access 2013 的模块中使用此代码:

Sub grant()
    CurrentProject.Connection.Execute "GRANT SELECT ON MSysObjects TO Admin;"
End Sub

我知道它是 运行ning 因为我有一个 Debug.Print 打印出一个 hello world 设置并且它有效,但是当我尝试 运行 表上的查询时我获取 CLI 无读取访问错误。

不幸的是,我需要连接到这些表,因为我正在尝试从另一个应用程序 运行 传递 SQL。

有什么想法吗?我在 运行 查询后保存数据库,甚至 opened/closed 它和我正在使用的其他应用程序。

谢谢!

您无法更改系统 table 上的用户权限。这是设计使然。

您也不必这样做,因为您具有对此 table 的读取权限。

编辑:

您可以轻松地从中阅读 - 如本例所示:

SELECT DISTINCT 
    [Tens]+[Ones] AS Factor, 
    10*Abs([Deca].[Id] Mod 10) AS Tens, 
    Abs([Uno].[Id] Mod 10) AS Ones
FROM 
    MSysObjects AS Uno, 
    MSysObjects AS Deca;