当我读取ACCESS里的系统表MSysObjects时,出现:不能读取记录;在 MSysObjects 上没有读取数据权限。的提示,语句是:select name from MSysObjects where type=1 and flags=0,而这个语句是可以直接在ACCESS查询器里使用的,不知为何,网游一翻,找到解决方法,不过还好,按这样的设置后以后这个数据库就可以 读取这个表了。

操作过程:

1.

默认的情况是admin对MSysObjects没有任何权限!包括查询

打开您的ACCESS数据库,然后

工具 -> 选项 -> 视图 -> 隐藏对象、系统对象

前面的勾选上。

"注:在 Access 2007, 点击左上角的Office按钮,再点"Access选项"-->"当前数据库"==>"导航",这样就可以找到相应的选项了。勾选“显示隐藏对象”和“显示系统对象”

2.工具 -> 安全 -> 用户与组的权限

注:在 Access 2007,单击工具栏里面的“数据库工具”页签,然后选择“用户和权限”,下拉菜单中选择“用户与组权限(P)”,弹出‘用户与组权限’对话框,在‘对象名称’列表中找到MSysObjects,然后赋予相应权限就可以了。

在对象名称中选定 MSysObjects ,然后权限中设置其权限。

OK,现在可以试一试了,以后这个数据库就可以直接读取MSysObjects表了