Access2013のDAOで、全レコードの全フィールドデータを動的配列に格納するVBAです。
下記フォームの[開始]ボタンをクリックすると実行します。クリックイベント内に入力した、VBAコードです。
■VBAコードの流れ
1)レコードセットと配列を宣言
2)テーブルをレコードセットで開きます。
3)動的配列にフィールド数分の要素を確保します。
4)レコード数分、Doループで繰り返します。
5)フィールド数文、Forループで繰り返します。
6)配列にフィールドデータを格納します。
7)次のレコードに移動し、LoopでDoへ戻ります。
8)レコードセットの変数を開放します。
■VBAコード
Option Compare Database
Private Sub コマンド0_Click()
Dim rs As Recordset
Dim myArray() As Variant
Set rs = CurrentDb.OpenRecordset("T_テーブル")
ReDim myArray(rs.Fields.Count)
Do Until rs.EOF
For i = 0 To rs.Fields.Count - 1
myArray(i) = rs(i)
Next
rs.MoveNext
Loop
Set rs = Nothing
End Sub
VBAでフォームを開くコードとエラー発生時の対処方法
VBAでフォームを閉じるボタンを作成する