2017-11-24 5 views
0

In einer MS Access Tabelle habe ich einige Anhänge zu jedem Artikel.3265: Artikel nicht in dieser Sammlung gefunden

Ich möchte jeden Anhang in einem temporären Verzeichnis über einen VBA Code speichern.

Die VBA-Code, ich versuche https://www.youtube.com/watch?v=Gm5fch0xaI4&t=306s

in diesem Tutorial zu replizieren

Das Problem ist, dass ich die error '3265' item not found in this collection schon, wenn ich einen Wert in ein DAO.Recordset2 Objekt zuweisen versuchen.

Hier mein Code.

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 

Antwort

1

Ich gehe davon aus Department Feld Ihre Befestigung ist. In diesem Fall Sie !Department verwenden müssen, und nicht !Document

Set rsAttachment = rsParent!Department.Value

Wenn Document ist Ihr Feld für Anhänge, müssen Sie es in Ihrer Abfrage enthalten:

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

Ich wette, Ihr Tabelle Data Processing List hat kein Feld namens Document. Das wäre ein schlechter Name für ein Feld sowieso seit Dokument ist ein reserviertes Wort. (Wenn Sie Beispieldaten gepostet haben, wissen wir sicher, was das Problem war.) Überprüfen Sie [MCVE]

Verwandte Themen