SQL语句为

SELECT Name FROM MSysObjects WHERE Type=1 AND Flags=0;

  这本来没啥问题,但在代码里执行可能会因为权限报错:

('42000', "[42000] [Microsoft][ODBC Microsoft Access Driver] 不能读取记录;
在 'MSysObjects' 上没有读取数据权限。")

  咱三步走(以Access 2013为例)

1、显示MSysObjects表

  文件 -> 选项 -> 当前数据库 -> 导航选项 -> 显示选项

  勾上“显示隐藏对象、显示系统对象”复选框

wKiom1cZdZPgTfw9AAD7mSbMjSg245.png

2、修改权限

  文件 -> 信息 -> 用户和权限

  设置MSysObjects的访问权限

wKioL1cgENOSlbYNAABqpgr8uBU751.png

3、隐藏MSysObjects表(可选,第1步)

  文件 -> 选项 -> 当前数据库 -> 导航选项 -> 显示选项

  勾下“显示隐藏对象、显示系统对象”复选框


相关阅读:Python获取access表字段名


*** walker ***