VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2005/04/21(Thu) 08:07
投稿者YK
Eメール
URL
タイトルRe^8: 一覧からのレコードの抽出方法

こんにちは。
レコードセットだけを利用するならばこんな方法もあります。

フォーム上に
Adodc1
DataGrid1

Adodc2
DataGrid2

Command1
があるとします。

Adodc1
DataGrid1
は今までのデータセットとします。

モジュールレベルで
Dim rs  As ADODB.Recordsetを宣言して下さい。
尚 rs.Fields.Appendのフィールド名、データタイプは合わせてください。

DataGrid1で複数選択して下記を実行してみて下さい。

Private Sub Command1_Click()
    Dim varBmk  As Variant
    Dim i       As Long

    Set rs = New ADODB.Recordset
    With rs.Fields
        .Append "F1", adVarWChar, 256
        .Append "F2", adVarWChar, 256
        .Append "F3", adVarWChar, 256
        .Append "F4", adInteger
        .Append "F5", adVarWChar, 256
    End With
    rs.Open
    
    With Adodc1
        For Each varBmk In DataGrid1.SelBookmarks
            .Recordset.Bookmark = varBmk
            rs.AddNew
            For i = 0 To .Recordset.Fields.Count - 1
                rs.Fields(i) = .Recordset.Fields(i)
            Next
            rs.Update
        Next
    End With
    
    Set Adodc2.Recordset = rs
    Set DataGrid2.DataSource = Adodc2

    ' 列幅をあわせえるのらば
    With DataGrid1
        For i = 0 To .Columns.Count - 1
            DataGrid2.Columns.Item(i).Width = .Columns(i).Width
        Next
    End With
End Sub


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -