指定したレコード位置からシートに貼り付ける
レコードをシートに貼り付けるには、CopyFromRecordsetメソッドを使いましたが、貼り付けられるレコード位置は、レコードセットの位置からになります。
従いまして、全レコードを貼り付けるには、レコードセットを1番目の位置に移動しておけばOKなわけですし、10番目のレコードから貼り付けたい場合は、10番目の位置に移動しておけばOKです。
レコードセットのレコード移動は以下のMove系メソッドを使用します。
- Recordset.MoveFirst : 先頭レコードへ
- Recordset.MovePrevious : 1つ前のレコードへ
- Recordset.MoveNext : 次のレコードへ
- Recordset.MoveLast : 最終レコードへ
- Recordset.Move[n] : 指定したレコード番号を基準にして前後に移動
Homeに戻る >
Excel データベースのTipsへ
実行画面
元の顧客マスターです。
3番目の位置に移動し、CopyFromRecordsetメソッドを実行しました。
3番目のレコード位置に移動するには「Move 2」と実行しました。
1番目から2つ前に移動することで3番目になります。
コード
'Access Accdbファイルを開く
Private Sub ExAccdbImport()
Dim db As ADODB.Connection
Dim rs As ADODB.Recordset
'顧客管理のACCDBファイルに接続します
Set db = New ADODB.Connection
db.Provider = "Microsoft.Ace.OLEDB.12.0"
db.Open "C:\MyHP\excel2007\Tips\顧客管理.accdb"
'レコードセットを開きます
Set rs = New ADODB.Recordset
rs.Open "T_顧客マスター", db, adOpenStatic
'レコード数の取得
If rs.RecordCount = 0 Then
MsgBox "顧客のレコードが見つかりません。"
Else
rs.Move 2
'レコードをシートへ貼り付ける
Range("B7").CopyFromRecordset rs
End If
rs.Close
Set rs = Nothing
Set db = Nothing
End Sub
Private Sub CommandButton1_Click()
ExAccdbImport
End Sub
Homeに戻る >
Excel データベースのTipsへ
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します
Copyright (c) Excel-Excel ! All rights reserved