質問: Access vba にて
回答: レコードセットのGetRowsメソッドで配列に取得できます。 引数の設定で取得するレコード数を指定できます。 先頭に戻って rs.GetRows(rs.RecordCount) で全て取得できます。 例えば"クエリ1"を取得する場合は Set rs = CurrentDb.OpenRecordset("クエリ1") の形になります。 テーブルやSQL文でも指定出来ます。 Set rs = CurrentDb.OpenRecordset("テーブル1") Set rs = CurrentDb.OpenRecordset("select * from クエリ1") Set rs = CurrentDb.OpenRecordset("select * from テーブル1") などでも指定できます。 プログラムではrs.RecordCountを確定するために一度MoveLastした方がいいと思います。 Sub sample() Dim rs As Recordset Dim ary As Variant Set rs = CurrentDb.OpenRecordset("クエリ1") rs.MoveLast rs.MoveFirst ary = rs.GetRows(rs.RecordCount) rs.Close MsgBox UBound(ary) + 1 & "フィールド" MsgBox UBound(ary, 2) + 1 & "レコード" End Sub