• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Current、Openがそれぞれ2回発動する)

フォームを開くためのコマンドボタンの設置方法

このQ&Aのポイント
  • Current、Openがそれぞれ2回発動し、求めている結果と異なってしまう場合、回避する方法はありますか?どうしてもフォーム1のコマンドボタンを押して、フォーム2を開きたいのです。
  • フォーム1にはコマンドボタンを1つ設置し、そのコマンドボタンを押すとフォーム2が開くようにします。しかし、フォーム2のForm_CurrentイベントとForm_Openイベントがそれぞれ2回ずつ実行されてしまいます。問題を回避する方法があれば教えてください。
  • フォーム1にコマンドボタンを設置し、フォーム2を開くための処理を追加しました。しかし、フォーム2のForm_CurrentイベントとForm_Openイベントが2回ずつ実行されてしまい、期待する結果が得られません。回避方法を教えてください。

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

>DoCmd.OpenForm Form_フォーム2.Name だと二回発生しますね。 クラスとしてのフォーム2の関係から?のような気がしますが 残念ながらスキルを持ち合わせていません。 DoCmd.OpenForm "フォーム2" なら1回だけでした。

xiqixtoggw1
質問者

お礼

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

その他の回答 (1)

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

追伸 フォーム2 を閉じた状態で、イミディエイトウィンドウで ?フォーム2.name とすると、やはりイベントが発生します。 Msgbox "" を加えて置くとと出てきます。 この場合にはフォームは開かれていない(目には見えない)ように感じますが 内部的?に一旦開かれているようです。 なので、Docmd.Openform Form_フォーム2.Name とした場合には Form_フォーム2.Name で仮オープン?(一回目)して名前を取得 その後、 Docmd.OpenForm フォームの実名(二回目) のようになるという事の様です。

xiqixtoggw1
質問者

お礼

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

関連するQ&A

専門家に質問してみよう