手順 3:Fields リスト ボックスに値を設定する

Fields リスト ボックスを設定するには、次のコードを lstMain の Click イベント ハンドラーに挿入します。

Private Sub lstMain_Click()  
    Dim rec As Record  
    Dim rs As Recordset  
    Set rec = New Record  
    Set rs = New Recordset  
    grs.MoveFirst  
    grs.Move lstMain.ListIndex  
    lstDetails.Clear  
    rec.Open grs  
    Select Case rec.RecordType  
        Case adCollectionRecord:  
            Set rs = rec.GetChildren  
            While Not rs.EOF  
                lstDetails.AddItem rs(0)  
                rs.MoveNext  
            Wend  
        Case adSimpleRecord:  
            recFields rec, lstDetails, txtDetails  
  
        Case adStructDoc:  
    End Select  
  
End Sub  

このコードは、ローカルの Record および Recordset オブジェクトをそれぞれ rec および rs と宣言してインスタンス化します。

lstMain で選ばれたリソースに対応する行が、grs の現在の行になります。 その後、Details リスト ボックスがクリアされ、recgrs の現在行をソースとして開かれます。

RecordType で指定されているようにリソースがコレクション レコードの場合、ローカルの Recordset rs が rec の子で開かれます。その後、lstDetailsrs の行の値が設定されます。

リソースが単純なレコードの場合は、recFields が呼び出されます。 recFields について詳しくは、次のステップをご覧ください。

リソースが構造化ドキュメントの場合、コードは実装されません。

参照

インターネットへの発行のシナリオ
手順 2:Main リスト ボックスを初期化する
手順 4:Details テキスト ボックスに値を設定する