Inseri o seguinte código conforme abaixo segue.
Acontece que mesmo se eu clicar em "Não" na caixa de mensagem, ou seja, não quero salvar as alterações, aparece a caixa de mensagem no final do código.
Como eu faço para que a mensagem no final do código apareça somente quando eu clicar em "Sim", ou seja, para salvar as alterações e como eu faria também para mostrar uma mensagem: "Alteração cancelad.", caso eu clicasse em não e assim, desfizesse as alterações?
Notem que tem um código para salvar automaticamente a data e alteração em um sub formulário, caso se clique em "Sim" para salvar as alterações.
Private Sub Form_BeforeUpdate(Cancel As Integer)
If MsgBox("Salvar a alteração no Inquérito " & Format(Me!Inquerito, "000/00") & "?", vbExclamation + vbYesNo, "Confirmação") = vbNo Then
Me.Undo
Else
DoCmd.SetWarnings False
Dim strSql As String
strSql = "INSERT INTO tblHistoricos (idInquerito, DataHistorico, Ocorrencia) VALUES (" & Me.Id & ", Date(), '" & Situação & "')"
DoCmd.RunSQL (strSql)
DoCmd.SetWarnings False
End If
If Me.Inquerito.Enabled = True Then
Me.Inquerito.Enabled = False
Else
Me.Inquerito.Enabled = False
End If
If Me.DataDeVencimento.Enabled = True Then
Me.DataDeVencimento.Enabled = False
Else
Me.DataDeVencimento.Enabled = False
End If
If Me.Flagrante.Enabled = True Then
Me.Flagrante.Enabled = False
Else
Me.Flagrante.Enabled = False
End If
If Me.Cota.Enabled = True Then
Me.Cota.Enabled = False
Else
Me.Cota.Enabled = False
End If
If Me.Natureza.Enabled = True Then
Me.Natureza.Enabled = False
Else
Me.Natureza.Enabled = False
End If
If Me.Vítima.Enabled = True Then
Me.Vítima.Enabled = False
Else
Me.Vítima.Enabled = False
End If
If Me.Indiciado.Enabled = True Then
Me.Indiciado.Enabled = False
Else
Me.Indiciado.Enabled = False
End If
If Me.Situação.Enabled = True Then
Me.Situação.Enabled = False
Else
Me.Situação.Enabled = False
End If
If Me.Processo.Enabled = True Then
Me.Processo.Enabled = False
Else
Me.Processo.Enabled = False
End If
If Me.Vara.Enabled = True Then
Me.Vara.Enabled = False
Else
Me.Vara.Enabled = False
End If
Me.sfrmHistoricos.Requery
MsgBox "Alteração(ões) salva(s) sucesso.", vbInformation, "Aviso"
End Sub
Acontece que mesmo se eu clicar em "Não" na caixa de mensagem, ou seja, não quero salvar as alterações, aparece a caixa de mensagem no final do código.
Como eu faço para que a mensagem no final do código apareça somente quando eu clicar em "Sim", ou seja, para salvar as alterações e como eu faria também para mostrar uma mensagem: "Alteração cancelad.", caso eu clicasse em não e assim, desfizesse as alterações?
Notem que tem um código para salvar automaticamente a data e alteração em um sub formulário, caso se clique em "Sim" para salvar as alterações.
Private Sub Form_BeforeUpdate(Cancel As Integer)
If MsgBox("Salvar a alteração no Inquérito " & Format(Me!Inquerito, "000/00") & "?", vbExclamation + vbYesNo, "Confirmação") = vbNo Then
Me.Undo
Else
DoCmd.SetWarnings False
Dim strSql As String
strSql = "INSERT INTO tblHistoricos (idInquerito, DataHistorico, Ocorrencia) VALUES (" & Me.Id & ", Date(), '" & Situação & "')"
DoCmd.RunSQL (strSql)
DoCmd.SetWarnings False
End If
If Me.Inquerito.Enabled = True Then
Me.Inquerito.Enabled = False
Else
Me.Inquerito.Enabled = False
End If
If Me.DataDeVencimento.Enabled = True Then
Me.DataDeVencimento.Enabled = False
Else
Me.DataDeVencimento.Enabled = False
End If
If Me.Flagrante.Enabled = True Then
Me.Flagrante.Enabled = False
Else
Me.Flagrante.Enabled = False
End If
If Me.Cota.Enabled = True Then
Me.Cota.Enabled = False
Else
Me.Cota.Enabled = False
End If
If Me.Natureza.Enabled = True Then
Me.Natureza.Enabled = False
Else
Me.Natureza.Enabled = False
End If
If Me.Vítima.Enabled = True Then
Me.Vítima.Enabled = False
Else
Me.Vítima.Enabled = False
End If
If Me.Indiciado.Enabled = True Then
Me.Indiciado.Enabled = False
Else
Me.Indiciado.Enabled = False
End If
If Me.Situação.Enabled = True Then
Me.Situação.Enabled = False
Else
Me.Situação.Enabled = False
End If
If Me.Processo.Enabled = True Then
Me.Processo.Enabled = False
Else
Me.Processo.Enabled = False
End If
If Me.Vara.Enabled = True Then
Me.Vara.Enabled = False
Else
Me.Vara.Enabled = False
End If
Me.sfrmHistoricos.Requery
MsgBox "Alteração(ões) salva(s) sucesso.", vbInformation, "Aviso"
End Sub