运行时错误“3265”:在此集合中找不到项目 Access 中的 VBA 模块

问题描述

我正在尝试创建一个宏,该宏将为每年的设备审计复制一个表及其相关查询。我复制了在另一个论坛上找到的一些代码,但我在一行的标题中收到错误消息。我对 VBA 不够熟悉,无法理解问题所在,所以我希望能得到一些帮助。

代码应该替换复制查询中的源表,以便不必每年重新进行查询代码如下:

Sub UpdateQuery(QueryName,CurrentSourceTable,NewSourceTable)

Dim strQryName,strCTbl,strNTbl,strCsql,strNsql As String
Dim defqry As DAO.QueryDef

strQryName = QueryName
strCTbl = CurrentSourceTable
strNTbl = NewSourceTable

Set defqry = CurrentDb.QueryDefs(strQryName)

strCsql = defqry.sql
strNsql = Replace(strCsql,strNTbl)
defqry.sql = strNsql
defqry.Close

End Sub

错误发生在“设置 defqry”行上。谁能告诉我是什么导致了错误

预计到达时间:

当我尝试运行上面的代码时,我也在使用下面的代码来填充QueryName/CurrentSourceTable/NewSourceTable:

Sub Proc1()

Call UpdateQuery(YYYY_Count_of_items_by_floor,Building_Audit_2021,Building_Audit_YYYY)

End Sub

同样,这段代码不是我写的,我复制了别人写的代码,并试图将其用于我需要的地方。

解决方法

谢谢,HansUp! YYYY_Count_of_items_by_floor 确实是查询的名称,因此我只需要将其括在引号中即可。