DAO で複数値を持つフィールドを操作する
複数値のフィールドは、DAO の Recordset オブジェクトとして表されます。 フィールドに対するレコードセットは、複数値を持つフィールドが含まれるテーブルに対するレコードセットの子です。 子のレコードセットをインスタンス化するには、次のようにして、複数値を持つフィールドの "Value/値" プロパティを使用します。
Set childRs = rs.<multi-valued field>.Value
次のコード例は、Tasks テーブルの AssignedTo フィールドの子のレコードセットをインスタンス化する方法を示しています。
Set rs = db.OpenRecordSet("Tasks")
Set childRs = rs.AssignedTo.Value
子のレコードセットは、DAO の Recordset オブジェクトと同じ機能を持ちます。
次のコード例は、親のレコードセットとその子のレコードセットを反復処理する方法を示しています。 例では Tasks テーブル内のタスクを、そのタスクに割り当てられている人と共にイミディエイト ウィンドウに出力します。
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
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示