在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
答案 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