• ベストアンサー

アクセス・マクロの登録について

いつもお知恵拝借、ありがとうございます。 最近、初めてaccess vbaのモジュールを作成しました。excelでは経験があったので、そのつもりで、フォームのコマンドボタンに「マクロの登録」をしようと思ったのですが、excelの時のように、右クリック→マクロの登録・・・と言うわけにはいかないようです。 いろいろネットも調べてみたのですが、どうも要領を得ません(^^;) accessのフォームのコマンドボタンに、マクロを登録するにはどうしたらいいのでしょうか? 因みに、vbeの画面から実行すると、ちゃんと動いてくれます。 基本的な質問ではなはだ恐縮ですが、どなたかご指導のほど、よろしくお願いしますm(_ _)m

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

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

まず、ExcelではマクロというとVBAのコードを指しますが AccessではマクロとVBA(プロシージャ)とは別物です ボタンにプロシージャを登録するには ボタンのクリック時イベント欄をクリック ビルドボタン「・・・」を押し、コードビルダを押すと VBAウィンドウが開き、下のようなコードが表示されますから ここに作成したコードを呼ぶようなコードを書きます Private Sub コマンド24_Click() End Sub 普通はあらかじめ別の所(モジュール)にコードを書かず 上の手順でクリックイベントに直接コードを書いていきます

prairie-gentian
質問者

お礼

ご回答ありがとうございます。 > ボタンにプロシージャを登録するには ボタンのクリック時イベント欄をクリック ビルドボタン「・・・」を押し、コードビルダを押すと VBAウィンドウが開き、下のようなコードが表示されますから ここに作成したコードを呼ぶようなコードを書きます > とのことですが、次の、 > Private Sub コマンド24_Click() End Sub > というのが出てきません。いきなり「メモリが不足しています」というメッセージが出てきて、Okを出すと、VBAの画面が出て、VBAコード(プロシージャ)が表示されます。 いったいどうなってるんでしょうか?因みに、データベースのサイズは現在のところ129Mあります。 申し遅れましたが、XP+Office2003ですm(_ _)m

その他の回答 (2)

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.3

「マクロの登録」 というのが、アクセスの「マクロ」ではなく、 VBA のプロシージャ をフォームのボタンから起動する、ということですよね。 ボタンの「クリック時」で [イベントプロシージャ]を選択し、 右の「...」をクリックします。 Private Sub コマンドボタン名_Click() End Sub と表示されるので、間に   Call プロシージャ名() と記述すれば、呼び出せます。 プロシージャの内容によっては、直に、クリックイベントに 処理を書いても良いかも。

prairie-gentian
質問者

補足

ご回答ありがとうございました。 #2の方に書きましたとおりの状態となりました。 データベースのサイズが大きすぎるということでしょうか?Accessですから、そんなこともないと思ったのですが・・・(^^;)

  • kawakero
  • ベストアンサー率0% (0/3)
回答No.1

登録したいコマンドボタンのプロパティを開いて、イベントの「クリック時」の部分に動かしたいマクロを登録すれば、実行できると思います。私の場合はACCESS2000で試してみましたので、バージョンが上のものはさらに簡単な方法があるかもしれませんが、参考まで。

prairie-gentian
質問者

補足

早速のご回答、ありがとうございます。 >登録したいコマンドボタンのプロパティを開いて、イベントの「クリック時」の部分に動かしたいマクロを登録すれば、実行できると思います これは既にトライしました。でも、うまく行きません。だいいち、マクロのリストが(EXCELで出てくるような)出てきません。それで、プロシージャの名前をそのまま貼り付けたら、エラーが出て・・・。 データベースのマクロウインドウを使うのかな?と思っていろいろタメしてみましたが、さっぱり分かりません(^^;) 基本的になんか、間違いをしているのかも知れませんが・・・。

関連するQ&A