gpt4 book ai didi

sql - 停止 Access 保存数据,强制用户单击按钮以保存编辑的数据

转载 作者:行者123 更新时间:2023-12-02 04:46:46 27 4
gpt4 key购买 nike

我有一个可以打开表格并从中获取数据的表格;并将其放入文本框中。此表单上有一个名为“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

我如何让它弹出消息框询问他们是否要保存,如果他们按"is",它会保存,然后刷新子表单,然后打开上一个表单(CustomerListF),如果他们按“否”,则不会'保存,将信息恢复到原来的状态,并打开以前的表格?我认为我真正需要的是一种阻止 Access 自动保存数据更改的方法,但我不确定。

编辑答案:

按钮中出现该错误的代码:

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

最佳答案

这是我控制记录是否保存的方法。

确保表单的关闭按钮属性设置为No,这样用户将必须单击后退 按钮,然后使用以下代码:

Dim TempSaveRecord as Boolean

Private Sub cmdBack_Click()
If MsgBox("Do you want to save your changes?", vbInformation + vbYesNo) = 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

然后当表单关闭时,您可以使用以下命令强制任何其他表单刷新:

Private Sub Form_Close()
[Forms]![MyFormName].Refresh
End Sub

关于sql - 停止 Access 保存数据,强制用户单击按钮以保存编辑的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19661409/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com