初めて自分の家と他人の家が違う、と意識した時

テーブルのみのMDBファイルがあります。(フォームなし)
このMDBファイルを開いたときにマクロ1を実行させるにはどうすればいいでしょうか?
フォームやレホ゜ート以外にもイベントプロシージャーはあるのでしょうか?
もしくは「起動時の設定」で「マクロ1を実行する」ことは可能ですか?
よろしくお願い致します。(ヴァージョン2003)

A 回答 (2件)

No.1です。



> 標準モジュールに

・・・すみません。
AccessよりExcel等の方に慣れている方の場合、「VBA=マクロ」と
思われることが多いというのを忘れていました(汗)

データベースウィンドウ(テーブルやクエリ、フォームなどの一覧が表示
される画面)に、『マクロ』というのがあると思います。
そこで作成する方の『マクロ』で、VBAで組む『モジュール』とは別の
ものになります。
そちらで、『AutoExec』という名前のマクロを作成してください。


※添付画像は、『AutoExec』マクロのデザインビューの例になります。
 (「マクロ1」がSubプロシージャの場合は、戻り値はなくても構わない
  のでとりあえずFunctionプロシージャに変更した上で、
  『AutoExec』マクロの『アクション』欄に「プロシージャの実行」を
  指定し、画面左下でそのプロシージャ名を指定します:
  末尾に「()」(括弧)が必要だったはずなのでご注意のほど)
「アクセス起動時にVBAを実行させるには?」の回答画像2
    • good
    • 0
この回答へのお礼

そっちのマクロですね!
できました!できました!
わざわざご丁寧にありがとうございます。

お礼日時:2009/05/27 23:40

「Autoexec」または「AutoExec」という名前のマクロを作成すると、


そこに記述されたアクションが、起動時に自動的に実行される
ようになります。

ですので、
 a)マクロ1の内容をこちらに転記する
 b)マクロ1の名前を上記の名前に変える
 c)上記のマクロの『アクション』に「マクロの実行」を追加し、
  その『マクロ名』引数に「マクロ1」を指定
のどれかやりやすい方法で対応すれば、Okです。

なお、『起動時の設定』と同様、Shiftキーを押しながら起動した
場合は、このマクロも無視されますので、併せて参考まで。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
しかしうまくいきません。
試しに、b)の方法で
標準モジュールに
Sub AutoExec()
MsgBox "test"
End Sub
としてみましたが
起動時に動きません。
何かおかしいでしょうか?

お礼日時:2009/05/27 22:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報