当我读取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表了