用SQL语句查找Access中某表是否存在的小技巧

Access数据库虽然功能单一,但的确是一个小巧精干的开发伙伴,我在多个项目中与它见面,为了探知Access数据库的本源,今天上网查了些资料。现总结归纳如下:

在Access数据库中通过SQL语句找到某一表是否存在的确是一件困难的事。幸好, Access本身就有一些隐含的数据对象能够保存你库中的信息,今天我就遇到了要用SQL,通过程序查询某一表是否存在的问题,解决方法如下:
由于Access数据库本身的“管理员”组没有访问隐含对象的权限,因此先要:工具 -> 选项 -> 视图 -> 隐藏对象、系统对象,前面的勾选上。

然后,工具 -> 安全 -> 用户与组的权限,在对象名称中选定 MSysObjects(我只用到这个对象,如果需要用到其它的,可以再选) ,然后权限中设置“读取数据”权限。

最后,保存设置,在程序中就可以通过SQL语句查询表是否存在了,语句如下:

SELECT Count(*) AS RTab FROM MSysObjects WHERE (((MSysObjects.Name) Like "需判断的已知表名"));

返回1为存在, 0为不存在
系统环境:Win2000 Access2000

作者:whsnow

%s 个评论

要回复文章请先登录注册