Trabajar con datos adjuntos en DAO

En DAO (objetos de acceso a datos), los campos de datos adjuntos funcionan de la misma manera que los demás campos multivalor. El campo que contiene los datos adjuntos contiene un conjunto de registros secundario del conjunto de registros de la tabla. Hay dos nuevos métodos DAO, LoadFromFile y SaveToFile, que tratan exclusivamente con datos adjuntos.

Agregar datos adjuntos a un registro

El método LoadFromFile carga un archivo desde el disco y agrega el archivo como datos adjuntos al registro especificado. En el siguiente ejemplo de código se muestra la sintaxis del método LoadFromFile.

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

Nota

El campo FileData lo reserva internamente el motor de base de datos de Access para almacenar los datos adjuntos binarios.

El siguiente ejemplo de código usa el método LoadFromFile para cargar la fotografía de un empleado desde el disco.

   '  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 

Guardar datos adjuntos en el disco

En el siguiente ejemplo de código se muestra cómo usar el método SaveToFile para guardar todos los datos adjuntos de un empleado determinado en el disco.

'  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 

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.