我在Access 2013上的模块中运行此代码:
Sub grant()
CurrentProject.Connection.Execute "GRANT SELECT ON MSysObjects TO Admin;"
End Sub
我知道它正在运行,因为我有一个Debug.Print打印出一个hello world设置并且有效,但是当我尝试在表上运行查询时,我得到CLI没有读访问错误。
我很遗憾需要连接到这些表,因为我正在尝试从另一个应用程序运行传递SQL。
有什么想法?我在运行查询后保存数据库,甚至打开/关闭它和我正在使用的其他应用程序。
谢谢!
答案 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;