変数・定数に関する基礎知識として、その種類・宣言文・適用範囲などについて記載 ▼構文▼ 1.宣言セクション(Decralations)に宣言 → パブリック変数 / モジュールレベル変数 1.パブリック変数:すべてのモジュール・プロシージャから参照可 1.パブリック変数:Endステートメント(終了時)またはモジュールに変更を加えた際に初期化 ・Staticステートメントを使用して宣言された変数で、値を初期化せずに保持したいときに使用 1.標準モジュールの宣言セクション(Decralations)に宣言→ パブリック定数 1.パブリック定数:すべてのモジュール・プロシージャから参照可 ・オブジェクトの参照を変数に格納することができる 特定のオブジェクト名を指定 特定のオブジェクトでなく、オブジェクトそのものを指定 キーワード「Nothing」を使用
【変数】宣言の際の基本構文
Public 変数 As データ型
Private 変数 As データ型
Dim 変数 As データ型
※Public / Private / Dim とは、変数を宣言する際に使用するステートメント
※それぞれ「Let Dim」のように頭にLetをつけるのが本来の記述だが、Letは省略することができる【変数】宣言する場所と変数の種類
2.プロシージャ内 に宣言 →プロシージャレベル変数(ローカル変数)種類と適用範囲
→Publicステートメントを使用
2.モジュールレベル変数:宣言したモジュール内の各プロシージャから参照可
→DimまたはPrivateステートメントを使用
3.プロシージャレベル変数:宣言したプロシージャ内から参照可
→DimまたはPrivateステートメントを使用
種類と有効期間
2.モジュールレベル変数:Endステートメント(終了時)またはモジュールに変更を加えた際に初期化
3.プロシージャレベル変数:プロシージャの終了で初期化
※すべての変数はファイルを閉じるタイミングで初期化される
※Endステートメント:コードの中に記述することでコードの実行を(呼び出し元含め)強制終了できる静的変数
・プロシージャレベル変数でのみ有効であるため、宣言セクションで宣言することはできない
▼構文▼
Static 変数 As データ型
【定数】宣言する場所と変数の種類
2.宣言セクション(Decralations)に宣言→ モジュールレベル定数
3.プロシージャ内に宣言→ プロシージャレベル定数種類と適用範囲
→Public Constステートメントを使用
2.モジュールレベル定数:宣言したモジュール内の各プロシージャから参照可
→Constステートメントを使用
3.プロシージャレベル定数:「Const」宣言したプロシージャ内から参照可
→Constステートメントを使用【オブジェクト変数】とは
・オブジェクト変数は、そのオブジェクトと同じように扱うことが可能となる
・Setステートメントで参照を代入する【オブジェクト変数】宣言時のデータ型
固有オブジェクト型
▼構文▼
Dim Obj変数 As Form (またはTextBox,Label等)
Set Obj変数 = [参照するオブジェクト]総称オブジェクト型
▼構文▼
Dim Obj変数 As Object
Set Obj変数 = [参照するオブジェクト]【オブジェクト変数】参照の解除と代入の有無
▼構文▼
参照解除の場合:Set Obj変数 = Nothing
代入の有無をTrue/Falseで返す場合:Obj変数 Is Nothing
▼記述例▼Sub ObjectVariable_test()
Dim ObjForm As Form 'オブジェクト変数をForm型で宣言
Docmd.OpenForm "フォーム名" 'フォームを開く
Set ObjForm = Forms("フォーム名") 'オブジェクト変数にフォームを代入
ObjForm.txt1.value = "あいうえお" 'フォームの中のパーツ「txt1」に"あいうえお"を代入
Set ObjForm = Nothing '参照を解除
If ObjForm Is Nothing Then '解除できていたら(変数の中に何もなかったら)…
Docmd.Close "フォーム名" 'フォームを閉じる
End If
End Sub