特定フィールドのレコードの内容を二次元配列へ格納する

特定フィールドのレコードの内容を二次元配列へ格納する

Sub レコード取得2()
'特定フィールドのレコードの内容を二次元配列へ格納する
Dim myCon As New ADODB.Connection, myRS As New ADODB.Recordset
Dim FileName As String
Dim tmpRecCnt As Long, myArray() As Variant
FileName = ThisWorkbook.Path & "\mdb\2-sampleDB.mdb"
myCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FileName
myRS.Open "社員", myCon, adOpenStatic, adLockReadOnly

'フィールド数とレコード数を取得
tmpRecCnt = myRS.RecordCount

'「氏名」フィールドの内容を変数に格納
myArray = myRS.GetRows(Fields:="氏名")
'シートに転記
Range(Cells(1, 1), Cells(1, tmpRecCnt)) = myArray

ReDim myArray(0, 0)

'「氏名」「年齢」「所属」フィールドの内容を変数に格納
myRS.MoveFirst
myArray = myRS.GetRows(Fields:=Array("氏名", 3, "所属"))
'シートに転記
Range(Cells(4, 1), Cells(6, tmpRecCnt)) = myArray

myRS.Close: Set myRS = Nothing
myCon.Close: Set myCon = Nothing

End Sub

「社員」テーブル

実行結果