Manipular campos de múltiplos valores com DAO

Campos multivalorizados são representados como objetos Recordset no DAO. O conjunto de registros de um campo é um filho do conjunto de registros da tabela que contém o campo de vários valores. Para instanciar o conjunto de registros filho, use a propriedade Value do campo multivalued da seguinte maneira.

Set childRs = rs.<multi-valued field>.Value

O exemplo de código a seguir mostra como instanciar o conjunto de registros filho do campo AssignedTo da tabela Tarefas.

Set rs  = db.OpenRecordSet("Tasks") 
Set childRs = rs.AssignedTo.Value 

O conjunto de registros filho tem a mesma funcionalidade que qualquer objeto Recordset do DAO.

O exemplo de código a seguir mostra como iterar por meio de um conjunto de registros pai e seu conjunto de registros filho. O exemplo imprime as tarefas da tabela Tasks juntamente com as pessoas às quais as tarefas foram atribuídas na janela Imediata.

Sub BrowseMultiValueField() 
   Dim db As Database 
   Dim rs As Recordset 
   Dim childRS As Recordset 
     
   Set db = CurrentDb() 
     
   ' Open a Recordset for the Tasks table. 
   Set rs = db.OpenRecordset("Tasks") 
   rs.MoveFirst 
     
   Do Until rs.EOF 
      ' Print the name of the task to the Immediate window. 
      Debug.Print rs!TaskName.Value 
         
      ' Open a Recordset for the multivalued field. 
      Set childRS = rs!AssignedTo.Value 
 
         ' Exit the loop if the multivalued field contains no records. 
         Do Until childRS.EOF 
             childRS.MoveFirst 
                     
             ' Loop through the records in the child recordset. 
             Do Until childRS.EOF 
                 ' Print the owner(s) of the task to the Immediate  
                 ' window. 
                 Debug.Print Chr(0), childRS!Value.Value 
                 childRS.MoveNext 
             Loop 
         Loop 
      rs.MoveNext 
   Loop 
End Sub

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.