• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access VBA エラートラップでの終了処理)

Access VBA エラートラップでの終了処理

このQ&Aのポイント
  • Access2003 VBAのエラートラップで終了時のメッセージ表示を制御する方法
  • エラートラップ内でエラーフラグに値を設定しても保持されない問題の解決方法
  • Access VBAの終了確認メッセージの表示を制御するためのヒント

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

  • ベストアンサー
回答No.1

Application.Quit で bln_ErrFlg が破棄されたんでしょう。 ERR_LINE の中では Application.Quit じゃなくて、そのフォームを閉じる記述をし、 Unload イベントの中ではフラグが立っていなければメッセージ表示をし、フラグが立っていれば Application.Quit する、 てのはどうでしょうか? Private Sub btn_A_Click()  On Error GoTo ERR_LINE  ' 処理  Exit Sub ERR_LINE:  MsgBox "予期せぬエラーが発生しました。終了します。" & vbCrLf & _   "エラー番号: " & Err.Number & vbCrLf & _   "エラー内容: " & Err.Description, vbCritical + vbOKOnly, "例外エラー"  bln_ErrFlg = True  DoCmd.Close acForm, Me.Name End Sub Private Sub Form_Unload(Cancel As Integer)  If Not (bln_ErrFlg) Then   Cancel = MsgBox("終了しますがよろしいですか?", vbQuestion + vbYesNo, "終了確認") = vbNo  Else   Application.Quit  End If End Sub

2time4date
質問者

お礼

ご教授のとおりで、実現できました。 Form_LoadやForm_Openなどのフォーム開閉時はやり方を変えて終了させましたが、 概ねこれで大丈夫でした。 ありがとうございました。