Partager via


Manipuler des champs à plusieurs valeurs avec DAO

Les champs à plusieurs valeurs sont représentés comme des objets Recordset dans DAO. Le jeu d'enregistrements d'un champ est un enfant du jeu d'enregistrements de la table qui contient le champ à valeurs multiples. Pour instancier le jeu d’enregistrements enfant, utilisez la propriété Value du champ à valeurs multiples comme suit.

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

L’exemple de code suivant montre comment instancier le jeu d’enregistrements enfant du champ AssignedTo de la table Tasks.

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

Le jeu d'enregistrements enfant possède la même fonctionnalité qu'un objet Recordset DAO.

L’exemple de code suivant montre comment itérer au sein d’un jeu d’enregistrements parent et de son jeu d’enregistrements enfant. L'exemple imprime les tâches de la table Tâches ainsi que les personnes auxquelles les tâches sont affectées dans la fenêtre Exécution.

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

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.