以下は、VBAでネストされたDataGridViewを使用する方法のサンプルコードです。このコードは、Accessフォームに配置されたDataGridViewの例を示しています。親テーブルと子テーブルには、それぞれ1つのデータソースを使用しています。
Private Sub Form_Load()
' 親テーブルのデータソースを設定
Dim parentTable As New ADODB.Recordset
parentTable.Open "SELECT * FROM ParentTable", CurrentProject.Connection
Set Me.ParentTable.DataSource = parentTable
' 子テーブルのデータソースを設定
Dim childTable As New ADODB.Recordset
childTable.Open "SELECT * FROM ChildTable", CurrentProject.Connection
Set Me.ChildTable.DataSource = childTable
' 子テーブルのDataGridViewをネスト
Set Me.ParentTable.Columns(0).NestedControl = Me.ChildTable
' DataGridViewを再描画
Me.ParentTable.Refresh
End Sub
このコードでは、親テーブルと子テーブルにそれぞれデータソースを設定しています。そして、子テーブルのDataGridViewを親テーブルの指定された列にネストしています。最後に、DataGridViewを再描画しています。
このコードを実行すると、親テーブルの各行に、子テーブルのDataGridViewがネストされた状態で表示されます。各親行を展開すると、子テーブルの内容が表示されます。このように、DataGridViewの列にDataGridViewをネストすることで、ツリー表示に近いUIを実現することができます。