在Access 2007中,我试图发送查询结果,但是,我不断收到错误"运行时错误'3265':项目未在此集合中找到"。错误出现在以下行:
Set qry = CurrentDb.QueryDefs(ReportQueryName)
我已经检查了字段的拼写,我已经试着用Tools>References来确保我有正确的库。
这是我当前的代码:
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
你不能使用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