2017-11-24 32 views
0

MS Accessテーブルには、各アイテムに添付ファイルがあります。3265:このコレクションに見つからないアイテム

VBAコードを使用して、各添付ファイルを一時ディレクトリに保存します。

私は複製しようとしているVBAコードは、このチュートリアルで https://www.youtube.com/watch?v=Gm5fch0xaI4&t=306s

ある問題は、私がDAO.Recordset2オブジェクトに値を代入しようとしていたとき、私はすでにerror '3265' item not found in this collectionを得るということです。

ここに私のコード。

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 

答えて

1

私はDepartmentがあなたの添付ファイルフィールドであると仮定しています。その場合、あなたはDocumentがあなたの添付ファイルフィールドである場合、あなたはあなたのクエリに含める必要がある!Departmentを使用する必要はなく、!Document

Set rsAttachment = rsParent!Department.Value

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

私はあなたを賭けますテーブルData Processing ListにはDocumentというフィールドはありません。とにかくそれはフィールドのための悪い名前となるでしょう文書は予約語です。 (サンプルデータを投稿した場合は、問題の原因がわかっています)[MCVE]

関連する問題