特定フィールドのレコードの内容を二次元配列へ格納する
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
「社員」テーブル
実行結果