Bearbeiten von mehrwertigen Feldern mit DAO

Mehrwertige Felder werden in DAO als Recordset-Objekte dargestellt. Das Recordset eines Felds ist dem Recordset für die Tabelle untergeordnet, die das mehrwertige Feld enthält. Um das untergeordnete Recordset zu instanziieren, verwenden Sie die Value-Eigenschaft des mehrwertigen Felds wie folgt.

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

Das folgende Codebeispiel zeigt, wie sie das untergeordnete Recordset des Felds AssignedTo der Tabelle Tasks instanziieren.

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

Das untergeordnete Recordset hat dieselbe Funktionalität wie jedes andere Recordset-DAO-Objekt.

Im folgenden Codebeispiel wird gezeigt, wie ein übergeordnetes Recordset und dessen untergeordnetes Recordset durchlaufen werden. Das Beispiel zeigt die Aufgaben in der Tabelle Tasks zusammen mit den Personen, denen diese Aufgaben zugewiesen wurden, im Direktfenster an.

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

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.