Olá pessoal,
Tenho um formulário simples em qual o user tem a opção de salvar o input ou cancelá-lo.
Para o botão cancelar eu tenho o seguinte código:
Private Sub bt_close_Click()
Dim x As Integer
If Me.Dirty Then
x = MsgBox("Do you want to save your changes before closing this form?", vbYesNo, "Before Closing")
If x = vbYes Then
If IsNull(Resultant_Loss) Or IsNull(Phase) Or IsNull(Mfg_Process) Or IsNull(EPM_Discovery_Step) Or IsNull(Loss_Valuation) Or IsNull(Description_of_Loss) Or IsNull(Project) Then
MsgBox "Please fill all fields !", vbExclamation, "Warning"
Exit Sub
Else
Me.Undo
End If
End If
DoCmd.Close acForm, Me.Name
End If
End Sub
O problema é que quando eu clico em "Não", o form fecha como pedido mas se houver algum campo preenchido, o mesmo é registrado na database. (O que não era para acontecer).
A minha dúvida é: O que tem de errado com o meu código? Acredito que seja algum detalhe simples que eu estou esquecendo.
Agradeço desde já se puderem me ajudar com esta dúvida.
Atenciosamente,
Paulo
Tenho um formulário simples em qual o user tem a opção de salvar o input ou cancelá-lo.
Para o botão cancelar eu tenho o seguinte código:
Private Sub bt_close_Click()
Dim x As Integer
If Me.Dirty Then
x = MsgBox("Do you want to save your changes before closing this form?", vbYesNo, "Before Closing")
If x = vbYes Then
If IsNull(Resultant_Loss) Or IsNull(Phase) Or IsNull(Mfg_Process) Or IsNull(EPM_Discovery_Step) Or IsNull(Loss_Valuation) Or IsNull(Description_of_Loss) Or IsNull(Project) Then
MsgBox "Please fill all fields !", vbExclamation, "Warning"
Exit Sub
Else
Me.Undo
End If
End If
DoCmd.Close acForm, Me.Name
End If
End Sub
O problema é que quando eu clico em "Não", o form fecha como pedido mas se houver algum campo preenchido, o mesmo é registrado na database. (O que não era para acontecer).
A minha dúvida é: O que tem de errado com o meu código? Acredito que seja algum detalhe simples que eu estou esquecendo.
Agradeço desde já se puderem me ajudar com esta dúvida.
Atenciosamente,
Paulo