3265:此集合中找不到项目

时间:2017-11-24 09:22:24

标签: vba ms-access access-vba

MS Access表中,我对每个项目都有一些附件。

我想通过VBA代码将每个附件保存在临时目录中。

我想要复制的VBA代码在本教程中 https://www.youtube.com/watch?v=Gm5fch0xaI4&t=306s

问题是,当我尝试为error '3265' item not found in this collection对象分配值时,我已经获得了DAO.Recordset2

这是我的代码。

enter image description here

Private Sub Carica_Dati()

Dim rsParent As DAO.Recordset
Dim rsAttachment As DAO.Recordset2
Dim SQL As String

SQL = " SELECT [Data Processing List].Department" & _
      " FROM [Data Processing List]" & _
      " WHERE ((([Data Processing List].Treatment)=""HR-002""))"

Set rsParent = CurrentDb.OpenRecordset(SQL, dbOpenSnapshot)

If rsParent.RecordCount = 0 Then
    MsgBox "no"
Else
    Set rsAttachment = rsParent!Document.Value
End If

End Sub

2 个答案:

答案 0 :(得分:1)

我假设Department是您的附件字段。在这种情况下,您需要使用!Department,而不是!Document

Set rsAttachment = rsParent!Department.Value

如果Document是您的附件字段,则需要将其包含在您的查询中:

SQL = " SELECT [Data Processing List].Department, [Document]" & _
      " FROM [Data Processing List]" & _
      " WHERE ((([Data Processing List].Treatment)=""HR-002""))"

答案 1 :(得分:0)

我打赌你的表格Data Processing List没有名为Document的字段。不管怎样,这对于一个字段来说都是一个坏名字,因为 Document 是一个保留字。 (如果您发布了样本数据,那么我们确定问题是什么。)查看[MCVE]