- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MSAceessコントロールソースで定数を使いたい)
MSAceessコントロールソースで定数を使いたい
このQ&Aのポイント
- MSAceessコントロールソースで定数を使いたい場合、ディレクトリパスを定数定義して参照する方法があります。これにより、パス変更時にも簡単に対応することができます。
- 例えば、イメージコントロールのコントロールソースに以下のような指定を行います:=IIf([Name] <> "", 定数 & Name & ".png", "")。これにより、定数とファイル名を組み合わせてパスを生成することができます。
- 定数はどこで定義するかについては、通常、VBAコードで設定することが多いです。フォームのモジュール内にグローバルな変数として定数を宣言し、フォーム全体で利用することができます。また、グローバルモジュールを作成してそこで定数を定義する方法もあります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
定数保存用のテーブルを作成しておいて、そこに格納するのがシンプルだし、データペースらしい設計だと思います。 定数が一つだけでいいのなら、 テーブル T_Path フィールド Path テキスト型 としてそこにパスを入力しておきます。 コントロールソースは =IDLookup("Path","T_Path") とすれば参照できます。 パスに変更があった場合はテーブルを開いてフィールドの値を変更するだけです。 他には、2007以降なら、「一時変数」を使う方法もあります。 "SetTempVar/一時変数の設定" マクロ アクション - Access - Office.com http://office.microsoft.com/ja-jp/access-help/HA010120216.aspx AutoExecマクロで、上記のマクロで一時変数にパス名を格納しておきます。 コントロールソースは =[TempVars]![変数名] で、参照できます。 あとは、VBAの定数を参照する方法 標準モジュール Public Const FolderPath = "C:\~\~\~\~\~\" Public Function GetFolderPath() As String GetFolderPath = FolderPath End Function コントロールソース =GetFolderPath() 変更時の手軽さから、最初の案がお勧めです。
その他の回答 (1)
- shut0325
- ベストアンサー率40% (490/1207)
回答No.2
定数用のテーブルを作っておいて、DLookUp関数で呼び出すというのはどうでしょうか?
お礼
なるほど。 パスは複数定義しておきたいので、テーブルを使う案を採用しようと思います。 非常に参考になりました。 ありがとうございました。