无法更改 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;
我运行在 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;