Arbeiten mit Anlagen in DAO

In DAO funktionieren Anlagefelder wie andere Mehrfachwertfelder. Das Feld mit der Anlage enthält ein Recordset-Objekt, das dem Recordset-Objekt der Tabelle untergeordnet ist. Es gibt zwei neue DAO-Methoden, LoadFromFile und SaveToFile, die sich ausschließlich mit Anlagen befassen.

Hinzufügen einer Anlage zu einem Datensatz

Mit der LoadFromFile-Methode wird eine Datei vom Datenträger geladen und dem angegebenen Datensatz als Anlage hinzugefügt. Das folgende Codebeispiel zeigt die Syntax der LoadFromFile-Methode.

Recordset.Fields("FileData").LoadFromFile(<filename>)

Hinweis

Das FileData-Feld ist intern vom Access-Datenbankmodul reserviert, um die binären Anlagedaten zu speichern.

Das folgende Codebeispiel verwendet die LoadFromFile-Methode, um das Bild eines Mitarbeiters vom Datenträger zu laden.

   '  Instantiate the parent recordset.
   Set rsEmployees = db.OpenRecordset("Employees") 
  
   … Code to move to desired employee 
  
   ' Activate edit mode. 
   rsEmployees.Edit 
  
   ' Instantiate the child recordset. 
   Set rsPictures = rsEmployees.Fields("Pictures").Value  
  
   ' Add a new attachment. 
   rsPictures.AddNew 
   rsPictures.Fields("FileData").LoadFromFile "EmpPhoto39392.jpg" 
   rsPictures.Update 
  
   ' Update the parent record 
   rsEmployees.Update 

Speichern einer Anlage auf einem Datenträger

Das folgende Codebeispiel veranschaulicht, wie die SaveToFile-Methode zum Speichern aller Anlagen für einen bestimmten Mitarbeiter auf einem Datenträger verwendet wird.

'  Instantiate the parent recordset.
   Set rsEmployees = db.OpenRecordset("Employees") 
  
   … Code to move to desired employee 
  
   ' Instantiate the child recordset. 
   Set rsPictures = rsEmployees.Fields("Pictures").Value  
 
   '  Loop through the attachments. 
   While Not rsPictures.EOF 
  
      '  Save current attachment to disk in the "My Documents" folder. 
      rsPictures.Fields("FileData").SaveToFile _ 
                  "C:\Documents and Settings\Username\My Documents" 
      rsPictures.MoveNext 
   Wend 

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.