2013-09-23 166 views
1

我想使用查询来检查我的访问数据库中是否存在表,如果不存在,那么我可以创建该表。我使用Ruby来调用函数来执行SQL查询,如插入,选择,更新,创建等。查询检查访问数据库中是否存在表

我查找了一些解决方案,如MSysObjects,但它不适用于Access 2007.

那么熟悉Access数据库的人可以帮助我解决这个问题吗?

谢谢。

+0

您可以添加您正在使用的访问版本吗?当以后人们发现这个问题时,“Access的最新版本”将会与现在不同。 –

+0

感谢您的提示 –

+0

如果您*必须*使用查询来检查表是否存在,您必须更改'MSysObjects'表权限以给予您自己的读取权限。还有其他方法(但不是查询)来检查表是否存在。你可以使用除查询以外的东西吗? – HansUp

回答

1

这个问题已经解决了,我陷入发现SQL查询来解决这个问题,但我忘了,我可以捕获该异常时,有没有这样的一个表存在,然后做一些动作。感谢@ HansUp的建议。

0
Exists = IsObject(CurrentDb.TableDefs(tablename)) 
+0

当'tablename'是一个不存在的名字时,会抛出错误#3265,*“在这个集合中找不到的项目。”* – HansUp

+0

我试图运行这个,但它给了我错误“无效的SQL语句;预计SELECT,DELETE,UPDATE ....“ –

+0

道歉这是VBA代码。 –

相关问题