• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MSAceessコントロールソースで定数を使いたい)

MSAceessコントロールソースで定数を使いたい

このQ&Aのポイント
  • MSAceessコントロールソースで定数を使いたい場合、ディレクトリパスを定数定義して参照する方法があります。これにより、パス変更時にも簡単に対応することができます。
  • 例えば、イメージコントロールのコントロールソースに以下のような指定を行います:=IIf([Name] <> "", 定数 & Name & ".png", "")。これにより、定数とファイル名を組み合わせてパスを生成することができます。
  • 定数はどこで定義するかについては、通常、VBAコードで設定することが多いです。フォームのモジュール内にグローバルな変数として定数を宣言し、フォーム全体で利用することができます。また、グローバルモジュールを作成してそこで定数を定義する方法もあります。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

定数保存用のテーブルを作成しておいて、そこに格納するのがシンプルだし、データペースらしい設計だと思います。 定数が一つだけでいいのなら、 テーブル 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() 変更時の手軽さから、最初の案がお勧めです。

palayo
質問者

お礼

なるほど。 パスは複数定義しておきたいので、テーブルを使う案を採用しようと思います。 非常に参考になりました。 ありがとうございました。

その他の回答 (1)

  • shut0325
  • ベストアンサー率40% (490/1207)
回答No.2

定数用のテーブルを作っておいて、DLookUp関数で呼び出すというのはどうでしょうか?

関連するQ&A