Lire en anglais

Partager via


Utiliser des pièces jointes dans DAO

Dans DAO, les champs Pièces jointes fonctionnent comme les autres champs à valeurs multiples. Le champ qui contient la pièce jointe comporte un jeu d'enregistrements qui est un enfant du jeu d'enregistrements de la table. Il existe deux nouvelles méthodes DAO, LoadFromFile et SaveToFile, qui traitent exclusivement des pièces jointes.

Ajouter une pièce jointe à un enregistrement

La méthode LoadFromFile charge un fichier se trouvant sur le disque et l'ajoute comme pièce jointe à l'enregistrement spécifié. L’exemple de code suivant montre la syntaxe de la méthode LoadFromFile .

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

Notes

Le champ FileData est réservé en interne par le moteur de base de données Access pour le stockage des données binaires de la pièce jointe.

L’exemple de code suivant utilise la méthode LoadFromFile pour charger l’image d’un employé à partir du disque.

   '  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 

Enregistrer une pièce jointe sur le disque

L’exemple de code suivant montre comment utiliser la méthode SaveToFile pour enregistrer toutes les pièces jointes d’un employé spécifique sur le disque.

'  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 

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.