这个错误来自无处不在

问题描述:

我在vba中使用SQL,有时我遇到一个错误,从来没有理解它背后的原因。程序运行良好,突然它开始向我抛出奇怪的东西。这个错误来自无处不在

rs.Open "SELECT * FROM [test$]", cn, adOpenKeyset, adLockReadOnly 

有一个名为测试,我的文件表,但它抛出错误说

运行时错误“2147467259(80004505)”: “测试$”不是一个有效的名称。确保它不包含无效字符或标点符号,并且它不会太长

我有100次,并且存在这样的表具有相同的名称确切,甚至没有后面或之前的空间。有什么问题?请指教。提前致谢。

编辑:更改了查询周围的引号。

+0

首先,你的引号应该只围绕你的SQL查询。但也许这只是一个错字? – Bond

+0

@Bond谢谢你指出,这只是你说的一个错字。在没有SQL的VBA中,是否有一种简单的过滤和聚合方法? – Meesha

+0

你是在问一个不同的问题还是与此相关? Excel具有'= SUBTOTAL()'工作表函数,该函数仅对已过滤的行进行操作。 – Bond

只有一种情况我发现这种情况发生。如果在当前Excel会话处于活动状态时创建了工作表“test”,并且Excel工作簿不可写入。尝试保存工作簿,如果它要求您将其保存到不同的文件名,则它不可写。当在工作手册文件上设置只读属性时,或者在包含工作簿的目录上设置只读属性时,我发现会发生此错误。