Recordset オブジェクトの内容をワークシートにコピーする(CopyFromRecordset メソッド・ADO)
CopyFromRecordset メソッド
ADO の Recordset オブジェクトに格納されている全てのレコードをワークシートにコピーします。指定されたセル範囲の左上端を起点として、データを貼り付けます。
RecordCount = object.CopyFromRecordset ( Data, MaxRows, MaxColumns )
引数・戻り値
- object ・・・ 対象となる Range オブジェクトを指定します。
- Data ・・・ コピーする Recordset オブジェクト を指定します(省略不可)。
- MaxRows ・・・ コピーするレコードの最大数を指定します。省略した場合、Recordset オブジェクトのすべてのレコードをコピーします。
- MaxColumns ・・・ コピーするフィールドの最大数を指定します。省略した場合、Recordset オブジェクトのすべてのフィイールドをコピーします。
- RecordCount ・・・ コピーしたレコード数。
コピーは Recordset オブジェクトのカレントレコードの位置から行われます。コピーが完了すると、Recordset オブジェクトの EOF プロパティは True になります。
CopyFromRecordset メソッドの使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
Sub Sample_ADO_CopyFromRecordset() '参照設定:Microsoft ActiveX Data Objects 6.1 Library Dim cn As ADODB.Connection Dim Rs As ADODB.Recordset Dim constr As String Dim DBFile As String Dim strSQL As String Dim num As Long DBFile = ActiveWorkbook.Path & "\mydb1.accdb" constr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & DBFile Set cn = New ADODB.Connection cn.ConnectionString = constr cn.Open strSQL = "Select * from 社員名簿 where ID < 10 order by ID;" Set Rs = New ADODB.Recordset Rs.Source = strSQL Rs.ActiveConnection = cn Rs.Open With Worksheets("Sheet1") .Cells.Clear num = .Range("A1").CopyFromRecordset(Data:=Rs) .Cells(.Rows.Count, "A").End(xlUp).Offset(2, 0).Value = "レコード数" .Cells(.Rows.Count, "A").End(xlUp).Offset(0, 1).Value = num End With Rs.Close Set Rs = Nothing cn.Close Set cn = Nothing End Sub |
実行結果
関連記事
-
-
CSVファイルに接続(ADO)
ADOでCSVファイルに接続 ADO を使用してCSVファイルを読み込みます。C …
-
-
SQL文を実行する(ADO)Execute メソッド
Command オブジェクトの Execute メソッドで、SQL文を実行 Co …
-
-
レコードを指定した条件で抽出する(ADO)Filter プロパティ
データベースのレコードを指定した条件で抽出する Filter プロパティ 【書式 …
-
-
データベース(MySQL)に接続する(ADO)
MySQL ODBCドライバ Windowsには標準で、いくつかの ODBC ド …
-
-
レコードを並べ替える(ADO)Sort プロパティ
データベースのレコードを並べ替える Sort プロパティ 【書式】 object …
-
-
レコードの追加(ADO)AddNew メソッド,Update メソッド
データベースにレコードを追加する AddNew メソッド 新規レコードを追加し、 …
-
-
フィールド名(ADO)Field オブジェクト
Field オブジェクト Recordset オブジェクト内の列(フィールド)を …
-
-
データベース(SQL Server)に接続する(ADO)
データベース(SQL Server)に接続 ODBC または OLE DB で接 …
-
-
データベースを作成する(ADOX)
ADOX を使用してデータベース(Access)を作成 Catalog オブジェ …
-
-
データベース(Oracle)に接続する(ODBC を使用)
ODBC接続(ADO) ADOで、ODBC(Open Database Conn …