无法更改MS Access MSysObjects表的权限

时间:2017-02-27 20:05:54

标签: sql ms-access-2013

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

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

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

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

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

谢谢!

1 个答案:

答案 0 :(得分:0)

您无法更改系统表的用户权限。这是设计的。

您也没有,因为您已阅读此表格。

编辑:

您可以轻松地从中读取 - 如下例所示:

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;