AccessのVBAで2次元配列の初期化は1次元と同じで、Eraseを使用します。 配列の要素数を取得するには、UBound関数を使用します。
これも取得する次元を指定するだけで1次元と同じです。
このページでは、フォームにボタンとテキストボックスを配置し、2次元配列の初期化・表示・代入を実行します。
■ フォームの作成
リボンの[作成]~フォーム グループの[フォーム デザイン]をクリックします。
フォームが作成されるので、下のコントロールを挿入します。
1.[配列初期化]を行うボタン
2.[配列表示]を行うボタン
3.[配列に代入]を行うボタン
4.配列のデータを表示するためのテキストボックス
1.[配列初期化]ボタンを選択します。
2.クリック時イベントのプロパティで、[イベント プロシージャ]を選択します。
3.[…]ボタンをクリックし、VBE画面を表示します。
■ VBAの入力
Privateでこのフォーム内では使用できる、2次元配列を宣言します。
[配列初期化]ボタンのクリックイベント内に、Eraseステートメントを使ったVBAを入力します。
Option Explicit
Option Compare Database
Private varray(5, 3) As Variant
Private Sub コマンド0_Click()
Erase varray
End Sub
[配列初期化]ボタンと同様に、[配列表示]ボタンもクリック時の[イベント プロシージャ]を表示し、下記のVBAを入力します。
UBound関数で、それぞれの要素数を取得し、Forループでデータをテキストボックスに入力しています。
Private Sub コマンド1_Click()
Dim i As Long
Dim j As Long
Dim k1 As Long
Dim k2 As Long
Me!テキスト3 = Null
k1 = UBound(varray, 1)
k2 = UBound(varray, 2)
For i = 0 To k1
For j = 0 To k2
Me!テキスト3 = Me!テキスト3 & i & "," & j & " : " & varray(i, j) & vbCrLf
Next
Next
End Sub
[配列に代入]ボタンも同様に行います。
UBound関数で、それぞれの要素数を取得し、Forループでデータを代入しています。
■ VBAの実行
まず[配列初期化]ボタンをクリックし、次に[配列表示]ボタンをクリックします。
テキストボックスを見ると、何も値が表示されていなくて初期化されていることが分かります。
まず[配列に代入]ボタンをクリックし、次に[配列表示]ボタンをクリックします。
テキストボックスに、配列の値が表示され正常に代入されているのが分かります。
最後に[配列初期化]ボタンから[配列表示]ボタンをクリックし、初期化されていることを確認してください。