色彩検定1級を取得する魅力を紹介♪

Access2002を勉強中の初心者です。

AccessでDB1という名前のデータベースを作成し、その中で、モジュール1というモジュールを作成しました。これを実行するマクロを作成したく、次のようにマクロを作成しました。
マクロのデザイン画面でアクションに「プロージャの実行」を選択、プロージャ名入力覧の右側の...のボタンを押して式ビルダ画面を表示、ここの「関数」フォルダを開いてDB1を選択、表示されたモジュール1を貼り付けてOK。
しかし、このマクロを実行すると、次のエラーとなります。「DB1 指定されたDB1が見つけることができない関数名が含まれています」

根本的に方法が間違っているのでしょうか?
アドバイスをよろしくお願いします。

gooドクター

A 回答 (4件)

#1です。



ちょっと時間ができたので、Accessのヘルプで、
 "RunCode/プロシージャの実行" アクション
についてのトピックを見てみました。

結論から言うと、基本的な考え方が間違っているみたいです^^;。

「プロシージャの実行」アクションでは、「Function」プロシージャを指定するようです。
Subプロシージャではエラーになります。


つまりご質問の件では、
「Subプロシージャを呼び出すFnctionプロシージャ」をまず書かなけれえばならない。
そして、マクロのアクションでは、あらためてこのFunctionプロシージャを指定しなければいけません。
    • good
    • 2
この回答へのお礼

happypointさん、お忙しいところいつもありがとうございます。Functionプロシージャをまず書かなければならないですね。早速トライしてみます。ありがとうございました。

お礼日時:2003/07/16 16:04

マクロからプロシージャの実行に関する基本的な考えは間違っていないと思います。



あなたが実行したいプロシージャが、例えば

Public Function test()

MsgBox "hello!"

End Function

ならば、マクロの[プロシージャ名]には
“ test() ”
と、“()”も入力しなければなりません。でないと#2さんのお返事に書かれたエラーになります。

式ビルダも便利ですが、わたしなんかはモジュール画面からコピー&ペーストしてしまいますね、普段は。

この回答への補足

ご回答ありがとうございます。
おっしゃるとおり()もつけてみたのですが、質問の「・・・含まれていません」のエラーが出ます。
なにか間違えていると思いますので、調べてみます。

補足日時:2003/07/16 08:27
    • good
    • 3
この回答へのお礼

ご回答ありがとうございました。

お礼日時:2003/07/17 08:03

#1さんと同意見ですが。



文章を読むとモジュール1をプロシージャ名として設定
しているように見えますが、プロシージャ名を指定し
てください。
こんなん↓なら プロシージャ aaa です

Public Sub aaa()

End Sub

この回答への補足

アドバイスありがとうございます。
おっしゃるとおりやっているつもりなのですが、「指定された式に含まれる名前"aaa"が見つかりません」とのエラーが出ます。なにか、私が考え相違しているのでしょうね...

補足日時:2003/07/15 15:31
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
もっと勉強します。

お礼日時:2003/07/17 08:03

こんにちは。



フォームから実行するとかだったら、
直接VBAで呼び出した方が早いと思うんですが、
何故マクロ?

的外れだったらすいません。

この回答への補足

説明不足ですみません。
既に作成しているマクロの1行として組み入れたいと思ったものですから・・・
考え方が根本的に外れてますか?

補足日時:2003/07/15 13:04
    • good
    • 2

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

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング