hatena
hatena
2020/09/01 (火) 21:20:38
アクセスではテーブル以外にデータを入れる場所はありませんよね。
マクロの「一時変数」というのがあります。
"SetTempVar/一時変数の設定" マクロ アクション - Access
VBAからは、TempVars オブジェクト として参照できます。
TempVars オブジェクト (Access) | Microsoft Docs
下記のような感じで使えます。
'一時変数登録
TempVars.Add "FolderPath", "C:\test\" '変数名 FolderPath にパス「C:\test\」を登録
'一時変数参照
Dim FilePath As String
FilePath = TempVars!FolderPath & "vvvvv" 'Me!ファイル名
MsgBox FilePath
TempVars!FolderPath
の部分は TempVars("FolderPath")
とすることもできます。TempVars(0) とインデックスで参照することなできます。
データベースファイルを閉じるまでは、使用できます。
マクロで参照したり、フォーム、レポートのコントロールソースからも下記のような感じで参照できます。
=[TempVars]![FolderPath]
また、クエリからも [TempVars]![FolderPath] という式で参照できます。
なかなか便利な機能だとおもいます。
まとめると、
「トップフォーム」を閉じない(不要の場合は、閉じずに非表示にておく)なら、「トップフォーム」に表示のテキストボックスを配置してそこに格納しておく。
「トップフォーム」を閉じる場合があるなら、TempVars に格納しておく。
データベースファイルを閉じても、保存しておきたい。次に開いたとに前回のものを参照したいという場合は、テーブルに格納しておく。
というように使い分けるといいでしょう。
通報 ...