querydefs运行时错误3265:此集合中找不到项目

时间:2015-08-04 06:21:40

标签: vba ms-access access-vba dao

在Access 2007中,我尝试发送查询结果但是,我一直收到错误"运行时错误' 3265':此集合中找不到项目。 "错误即将出现:

Set qry = CurrentDb.QueryDefs(ReportQueryName)

我已经检查了字段上的拼写,并且我已经尝试弄乱工具>参考资料以确保我拥有正确的库。

这是我目前的代码:

Private Sub Command202_Click()

Dim qry As DAO.QueryDef
Dim strSQL As String
Dim ReportQueryName As String

ReportQueryName = "ReportEmail"

Set qry = CurrentDb.QueryDefs(ReportQueryName)
strSQL = "SELECT [ID], [title] FROM Cases WHERE ID = " & Me.ID
qry.SQL = strSQL

DoCmd.SendObject acSendQuery, "ReportEmail", acFormatXLSX, "email@address.com", ..., , False

End Sub

1 个答案:

答案 0 :(得分:4)

您无法使用QueryDefs创建新查询 - 您必须改为使用CreateQueryDef

Private Sub Command202_Click()

    Dim qry As DAO.QueryDef
    Dim strSQL As String
    Dim ReportQueryName As String

    ReportQueryName = "ReportEmail"

    strSQL = "SELECT [ID], [title] FROM Cases WHERE ID = " & Me.ID

    Set qry = CurrentDb.CreateQueryDef(ReportQueryName,strSQL)

    DoCmd.SendObject acSendQuery, "ReportEmail", acFormatXLSX, _
    "email@address.com", ..., , False

End Sub

有时您的新查询不会立即显示在Access窗口中。

如果您愿意,可以使用:

Application.RefreshDatabaseWindow