- 締切済み
ACCESS VBAで別のプロシージャを呼びだした後
いつもお世話になります。 ACCESS VBAで、別のプロシージャを呼びだし、 フォームを開き、あるコマンドボタンをクリックすると、 もとに戻ってくるようにしたいのですが、 call で別のプロシージャを呼びだし、フォームを開くところまではうまくいくのですが、コマンドボタンをクリックする前に戻ってきてしまいます。 コマンドボタンにはイベントプロシージャを設定しているのですが、 それではダメなんですよね? どのようなコードになるのでしょうか?よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- osamuy
- ベストアンサー率42% (1231/2878)
回答No.2
フォームのメソッドShowに引数vbModalを付けて、実行してみては。 詳しくは、Accessのヘルプをどうぞ。
- maruru01
- ベストアンサー率51% (1179/2272)
回答No.1
こんにちは。maruru01です。 状況がよくわからないので、ちょっと質問します。 1.「別のプロシージャ」はどこで呼び出しているのか。 あるフォームのコマンドボタンのクリックイベントなどか? 2.「あるコマンドボタン」は「別のプロシージャ」で開いたフォームにあるのか。 3.「もとに戻る」の"もと"とはどういう状態か。 4.「コマンドボタンをクリックする前」というのはどういう状態か。 5.コマンドボタンのイベントプロシージャは、クリックイベントのことか。 6.何かのデータと連結しているのか。そのデータ構造は? 「もと」とか「ある」とか抽象的な指示代名詞ではなく、もう少し具体的に書いて下さい。直接テーブルやフィールドの名前を書くのがまずいなら、適当に変名するとかして。
補足
わかりにくい質問で失礼致しました。 >1.「別のプロシージャ」はどこで呼び出しているのか。 フォームAのコマンドボタンAのクリックイベントです。 >2.「あるコマンドボタン」は「別のプロシージャ」で開いたフォームにあるのか。 フォームBにあり、コマンドボタンBです。 >3.「もとに戻る」の"もと"とはどういう状態か。 フォームAのコマンドボタンAのクリックイベントで、 ******** ******** call B ++++++ とあるとしますが、 Bで、フォームBを開き、コマンドボタンBをクリックすると、 ++++++を実行したいのですが、フォームBを開くだけで、++++++が 実行されてしまいます。