• 締切済み

ACCESS VBAで別のプロシージャを呼びだした後

いつもお世話になります。 ACCESS VBAで、別のプロシージャを呼びだし、 フォームを開き、あるコマンドボタンをクリックすると、 もとに戻ってくるようにしたいのですが、 call で別のプロシージャを呼びだし、フォームを開くところまではうまくいくのですが、コマンドボタンをクリックする前に戻ってきてしまいます。 コマンドボタンにはイベントプロシージャを設定しているのですが、 それではダメなんですよね? どのようなコードになるのでしょうか?よろしくお願いします。

みんなの回答

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.2

フォームのメソッドShowに引数vbModalを付けて、実行してみては。 詳しくは、Accessのヘルプをどうぞ。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 状況がよくわからないので、ちょっと質問します。 1.「別のプロシージャ」はどこで呼び出しているのか。 あるフォームのコマンドボタンのクリックイベントなどか? 2.「あるコマンドボタン」は「別のプロシージャ」で開いたフォームにあるのか。 3.「もとに戻る」の"もと"とはどういう状態か。 4.「コマンドボタンをクリックする前」というのはどういう状態か。 5.コマンドボタンのイベントプロシージャは、クリックイベントのことか。 6.何かのデータと連結しているのか。そのデータ構造は? 「もと」とか「ある」とか抽象的な指示代名詞ではなく、もう少し具体的に書いて下さい。直接テーブルやフィールドの名前を書くのがまずいなら、適当に変名するとかして。

toroon
質問者

補足

わかりにくい質問で失礼致しました。 >1.「別のプロシージャ」はどこで呼び出しているのか。  フォームAのコマンドボタンAのクリックイベントです。 >2.「あるコマンドボタン」は「別のプロシージャ」で開いたフォームにあるのか。  フォームBにあり、コマンドボタンBです。 >3.「もとに戻る」の"もと"とはどういう状態か。  フォームAのコマンドボタンAのクリックイベントで、   ********   ********   call B   ++++++  とあるとしますが、  Bで、フォームBを開き、コマンドボタンBをクリックすると、  ++++++を実行したいのですが、フォームBを開くだけで、++++++が  実行されてしまいます。

関連するQ&A