Microsoft Access 掲示板

トップページで指定したフォルダパスを参照する / 5

7 コメント
views
4 フォロー
5

アクセスではテーブル以外にデータを入れる場所はありませんよね。

マクロの「一時変数」というのがあります。
"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 に格納しておく。

データベースファイルを閉じても、保存しておきたい。次に開いたとに前回のものを参照したいという場合は、テーブルに格納しておく。

というように使い分けるといいでしょう。

通報 ...