AccessVBA 基礎文法最速マスター

AccessVBA 基礎最速マスター」を別Wikiサイトにて鋭意作成中。

配列 ~スタンダード~

配列とは「複数の値を一つの変数に格納すること」と言います。





1.概略
たとえば野球チームの選手を通常の変数に格納するとすればこのようになります。

Dim player01 As String
Dim player02 As String
Dim player03 As String
・・・

player01 = "イチロー"
player02 = "松坂"
player03 = "長嶋"
・・・

これだと野球選手の数だけ変数を用意する必要があり、不便です。
配列ではこうします。

Dim player(8) As String
player(0) = "イチロー"
player(1) = "松坂"
player(2) = "長嶋"

一行目の
Dim player(8) As String
とは、配列 playerを要素数(配列の数)を指定して、宣言しています。
野球選手は9人なので9個あれば良いのですが、「8」としているのは、配列の要素数(インデックス番号とか添え字ともいいます)は「0」から始まるからです。
監督まで含めて10人分欲しい、というなら、「player(9)」と指定すればよいわけです。

2.多次元配列
選手の名前だけでなく、ポジションまで含めて配列で管理したいとします。
その場合は、インデックス番号を2つ用意します。

Dim player(8,1) As String
player(0,0) = "イチロー"
player(0,1) = "ライト"
player(1,0) = "松坂"
player(1,1) = "ピッチャー"
player(2,0) = "長嶋"
player(2,1) = "サード"

これはとても便利ですが、いまいちイメージがわかないと思います。
これは表にすると分かり易いです。

イチロー ライト
松坂 ピッチャー
長嶋 サード
名前 ポジション4
名前 ポジション5
名前 ポジション6
名前 ポジション7
名前 ポジション8
名前 ポジション9

二次元配列の構文は下記のようになります。

Dim 変数名(行数 - 1, 項目数 - 1) As データ型 

「Dim 配列名(8,2) As String」とした場合下記のようになります。

0,0 0,1
1,0 1,1
2,0 2,1
3,0 3,1
4,0 4,1
5,0 5,1
6,0 6,1
7,0 7,1
8,0 8,1