我想使用查询来检查我的访问数据库中是否存在表,如果不存在,那么我可以创建该表。我使用Ruby来调用函数来执行SQL查询,如插入,选择,更新,创建等。查询检查访问数据库中是否存在表
我查找了一些解决方案,如MSysObjects,但它不适用于Access 2007.
那么熟悉Access数据库的人可以帮助我解决这个问题吗?
谢谢。
我想使用查询来检查我的访问数据库中是否存在表,如果不存在,那么我可以创建该表。我使用Ruby来调用函数来执行SQL查询,如插入,选择,更新,创建等。查询检查访问数据库中是否存在表
我查找了一些解决方案,如MSysObjects,但它不适用于Access 2007.
那么熟悉Access数据库的人可以帮助我解决这个问题吗?
谢谢。
这个问题已经解决了,我陷入发现SQL查询来解决这个问题,但我忘了,我可以捕获该异常时,有没有这样的一个表存在,然后做一些动作。感谢@ HansUp的建议。
Exists = IsObject(CurrentDb.TableDefs(tablename))
当'tablename'是一个不存在的名字时,会抛出错误#3265,*“在这个集合中找不到的项目。”* – HansUp
我试图运行这个,但它给了我错误“无效的SQL语句;预计SELECT,DELETE,UPDATE ....“ –
道歉这是VBA代码。 –
您可以添加您正在使用的访问版本吗?当以后人们发现这个问题时,“Access的最新版本”将会与现在不同。 –
感谢您的提示 –
如果您*必须*使用查询来检查表是否存在,您必须更改'MSysObjects'表权限以给予您自己的读取权限。还有其他方法(但不是查询)来检查表是否存在。你可以使用除查询以外的东西吗? – HansUp