テーブルを開いてデータを取得するフォームがあります。そしてそれをテキストボックスに入れます。このフォームには、「CustomerInfoBackBtn」という名前のボタンがあります。
内部にある動作しないコードは次のとおりです (テキスト ボックスを編集すると、Access が自動的にデータを保存するだけかもしれません)。
Private Sub CustomerInfoBackBtn_Click()
Dim LResponse As Integer
LResponse = MsgBox("Would you like to save?", vbYesNo, "Save?")
If LResponse = vbYes Then
DoCmd.RunCommand acCmdSaveRecord
DoCmd.Close
DoCmd.OpenForm "CustomerListF"
Else
DoCmd.Close
DoCmd.OpenForm "CustomerListF"
End If
End Sub
保存するかどうかを尋ねるメッセージボックスをポップアップ表示するにはどうすればよいですか。はいを押すと保存され、サブフォームが更新されて前のフォーム (CustomerListF) が開き、いいえを押すと保存されません。 、情報を以前のものに戻し、以前のフォームを開きますか? 本当に必要なのは、アクセスがデータの変更を自動的に保存しないようにする方法だけだと思いますが、よくわかりません。
答えを編集:
そのエラーを表示するボタンのコード:
Dim TempSaveRecord As Boolean
Private Sub CustomerNotesBackBtn_Click()
If MsgBox("Do you want to save your changes?", vbInformation + vbYesNo, [Warning! Some data may be lost.]) = vbNo Then
TempSaveRecord = False
Else
TempSaveRecord = True
End If
DoCmd.Close
End Sub
Private Sub Form_BeforeUpdate(Cancel As Integer)
If (TempSaveRecord) Then
DoCmd.Save
Else
DoCmd.RunCommand acCmdUndo
End If
End Sub