Access VBA 入門講座

Home変数の適用範囲変数の適用範囲

変数の適用範囲は、変数を宣言する際に指定します。変数の適用範囲にはプロシージャ、プライベート(モジュール)、およびパブリックの3種類があります。

プロシージャレベルの変数はプロシージャの範囲でのみ有効となります。


Sub Sample1()

    Dim i As Integer

    i = 1

    Msgbox i

End Sub
						

プライベート(モジュール)レベルの変数はモジュールの範囲でのみ有効となります。プライベートレベルの変数は、Privateステートメントで次のように宣言します。Privateステートメントを省略した場合も、プライベート変数になります。


'Module1

Private i As Integer
Dim j As Integer      'Privateを省略した場合

Sub Sample()

    Call Sample1
    Call Sample2

    Msgbox i    '---iは3となる

End Sub
Sub Sample1()

    i = 1

End Sub
Sub Sample2()

    i = i + 2

End Sub
						

パブリックレベルの変数はすべての変数の中で最も適用範囲が広い変数でデータベースのモジュール全ての範囲で有効となります。


'---Module1

Public i As Integer 'パブリックモジュールレベルの変数宣言

Sub Sample()

    i = 3

    Call Sample1
    Call Sample2

    Msgbox i    '---iは5となる

End Sub
Sub Sample2()

    i = i + 1

End Sub

'---Module2

Public Sub Sample3()

    i = i + 1

End Sub