我有这个表单,其中包含一个包含表中记录的子表单。 我想要的是当用户点击复选框信息时会弹出"你想批准申请吗?"然后当用户单击“确定”时,复选框的值和编辑的其他记录将保存在表格中。 但是当我在用户编辑记录时遇到它会自动更新表格。
这是我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
我还想在已选中已批准的复选框时禁用离开复选框。我试图在我的代码中添加它,但总是禁用所有复选框。
我只是新手,所以我不太了解。请帮助我。
答案 0 :(得分:0)
Access会立即将更改保存为默认行为,因为它直接编辑数据库。我看到你已经设置了是/否消息框。如果用户拒绝更改,请尝试运行Undo and Cancel。
要以连续形式禁用单个未绑定对象,请尝试this link。