• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access 1つのイベントに複数のVBA)

Accessでの複数のVBA設定とウインドウを閉じるVBAの書き方について

このQ&Aのポイント
  • Accessのフォームで複数のVBAを設定する方法と、ウインドウを閉じるVBAの書き方を教えてください。
  • Accessのフォームで複数のVBAを設定することは可能ですか?もし可能なら、正しいVBAの入力方法を教えてください。
  • ウインドウを閉じるVBAの書き方がわかりません。どのように入力すれば良いですか?

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

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.3

No2のIf文はこの形ではなく、単に Private Sub 修正_Click() CopyRec MsgBox("修正が完了しました。フォームを閉じます。") DoCmd.Close acForm, Me.Name End Sub のように、コードを羅列しても同じなので どちらでもいいです。 一応、No1とNo2はIf文を使った例です、ということに します。

mck0523
質問者

お礼

複数のパターンのVBAをご教授いただき、ありがとうございます! 試したところ、正常作動しました♪ 今回ベストアンサーにしたこちらを採用しましたが、No.1とNo.2も今後の参考にさせていただきます。 回答、ありがとうございます!

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

失礼しました。考えてみれば、CopyRec が先にあるので、 Yes/NoでするとNoだと  CopyRec をまたすることになるので NGですね。 以下のようにしてみてください。 Private Sub 修正_Click() CopyRec If MsgBox("修正が完了しました。フォームを閉じます。") = vbOK Then DoCmd.Close acForm, Me.Name End If End Sub

すると、全ての回答が全文表示されます。
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

要するに、 「修正が終わったので、このフォームを 閉じますよ、よろしいですか?」 というようなことでしょうか。 YESならば閉じるというコードを、というのであれば、 Private Sub 修正_Click() Dim ret As Integer CopyRec ret = MsgBox("修正が完了しました。フォームを閉じます。よろしいでしょうか?", vbYesNo + vbQuestion + vbDefaultButton1, "お知らせ") If ret = vbYes Then DoCmd.Close acForm, Me.Name End If End Sub では?

mck0523
質問者

補足

説明不足、失礼しました; 実を言うと、私の希望としては、 メッセージボックス タイトル:修正完了 メッセージ:修正が完了しました ボタン:『OK』のみ で、OKクリックと同時にフォームを閉じる形にしたいのです。 pirorin654さんのVBAも参考に、設定してみます。 回答ありがとうございます!

すると、全ての回答が全文表示されます。

関連するQ&A