Partilhar via


Trabalhar com anexos no DAO

No DAO, os campos de anexo funcionam como outros campos de valores múltiplos. O campo que contém o anexo contém um conjunto de registros filho do conjunto de registros da tabela. Há dois métodos DAO novos LoadFromFile e SaveToFile, que trabalham exclusivamente com anexos.

Adicionar um anexo a um registro

O método LoadFromFile carrega um arquivo do disco e o adiciona ao registro especificado como um anexo. O exemplo de código a seguir mostra a sintaxe do método LoadFromFile.

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

Observação

O campo FileData é reservado internamente pelo mecanismo de banco de dados do Access para armazenar os dados de anexo binário.

O exemplo de código a seguir usa o método LoadFromFile para carregar a foto de um funcionário do 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 

Salvar um anexo no disco

O exemplo de código a seguir mostra como usar o método SaveToFile para salvar todos os anexos de um funcionário específico no 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 

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.