投稿日 | : 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