用SQL语句查找Access中某表是否存在的小技巧
Access数据库虽然功能单一,但的确是一个小巧精干的开发伙伴,我在多个项目中与它见面,为了探知Access数据库的本源,今天上网查了些资料。现总结归纳如下:
在Access数据库中通过SQL语句找到某一表是否存在的确是一件困难的事。幸好,Access本身就有一些隐含的数据对象能够保存你库中的信息,今天我就遇到了要用SQL,通过程序查询某一表是否存在的问题,解决方法如下:
由于Access数据库本身的“管理员”组没有访问隐含对象的权限,因此先要:工具->选项->视图->隐藏对象、系统对象,前面的勾选上。
然后,工具->安全->用户与组的权限,在对象名称中选定MSysObjects(我只用到这个对象,如果需要用到其它的,可以再选),然后权限中设置“读取数据”权限。
最后,保存设置,在程序中就可以通过SQL语句查询表是否存在了,语句如下:
SELECTCount(*)ASRTabFROMMSysObjectsWHERE(((MSysObjects.Name)Like"需判断的已知表名"));
返回1为存在,0为不存在
系统环境:Win2000Access2000