Microsoft Access 掲示板

フォームを閉じる際のDirty処理につきまして / 2

9 コメント
views
4 フォロー
2
ゲッキョク駐車場 2020/12/25 (金) 08:57:15 修正 cb55f@f6500 >> 1

お早いご返信、ありがとうございます。
前に1度、部品フォームを変えてから閉じて、メインフォームを閉じようとしたら閉じれなかった
と他の人から連絡を受けたため、このような形になっていました。
しかし、考えてみると、確かにご指摘通りへんてこりんですね…。
申し訳ありません。
MSGBOXの出現も、いろいろ試したところ、フォーム開きっぱなしの時だけでした。

部品フォームを閉じるときに、以下のようにすれば問題ないでしょうか…?

Private Sub Form_Close()

  If Me.Dirty Then
    If MsgBox("データが変更されています。保存して終了しますか?", vbYesNo) = vbNo Then
      Exit Sub

    Else
      Me.BeforeUpdate = ""  'キャンセル無効
      DoCmd.RunCommand acCmdSaveRecord
      'DoCmd.RunCommand acCmdRefresh
      Me.BeforeUpdate = "[イベント プロシージャ]"  'キャンセル有効

      Call UserLog("MNFCT", "Update")
    End If
  End If
End Sub

以上、よろしくお願いいたします。

通報 ...