如何在编辑数据记录时停止自动保存

时间:2016-07-14 06:50:53

标签: sql vba ms-access

我有这个表单,其中包含一个包含表中记录的子表单。 我想要的是当用户点击复选框信息时会弹出"你想批准申请吗?"然后当用户单击“确定”时,复选框的值和编辑的其他记录将保存在表格中。 但是当我在用户编辑记录时遇到它会自动更新表格。

这是我form的样本: 这是我的代码:

Private Sub chkApproved_Click()
Dim strSQL As String
Dim rs As DAO.Recordset
DoCmd.SetWarnings False

strSQL = "SELECT * FROM RECORD WHERE ID = '" & Me.txtID & "' AND DATE = #" & Me.txtDate & "# "
Set rs = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)

If Me.chkApproved = -1 Then
If MsgBox("Do you want to approve application?", vbOKCancel, "Leave Approval") = vbOK Then

    If Not rs.EOF Then
        rs.Edit
        rs.Fields("APPROVED_FLG") = Me.chkApproved.Value
        rs.Fields("LEAVE_FLG") = Me.chkLeave.Value
        rs.Fields("REMARKS") = Me.REMARKS
        rs.Update
    End If
    rs.Requery
Else
    Me.chkApproved = 0
End If
Else
Exit Sub
End If

rs.Close
Set rs = Nothing

DoCmd.SetWarnings True

End Sub

我还想在已选中已批准的复选框时禁用离开复选框。我试图在我的代码中添加它,但总是禁用所有复选框。

我只是新手,所以我不太了解。请帮助我。

1 个答案:

答案 0 :(得分:0)

Access会立即将更改保存为默认行为,因为它直接编辑数据库。我看到你已经设置了是/否消息框。如果用户拒绝更改,请尝试运行Undo and Cancel

要以连续形式禁用单个未绑定对象,请尝试this link