Salve!
Tenho esse código abaixo de fechar o form com 'Esc', e coloquei alguns critérios, porém não está funfando da forma que gostaria.
Preciso que...
1. Se a pessoa teclar Esc o form fecha normal (até então blz)
2. Se a pessoa fizer alguma alteração e teclar Esc, o sistema pergunta se deseja salvar as alterações (isso tb tá ok)
3. Mas quando a pessoa clica para fazer um novo cadastro e não termina esse cadastro (clicando no botão Concluir), preciso que, caso ela clicar Esc e o SKU do produto for nulo, o sistema emite uma msg e não execute o resto do código.
Só que nesse procedimento, o sistema emite a msg, mas qdo fecho a msg ele dá seguimento no código e pergunta se desejo salvar as alterações.
If KeyCode = 27 Then
If IsNull(Me.skuProduto) Then
MsgBox "É necessário concluir ou cancelar o cadastro antes de sair..", vbCritical, "Sispac"
If Me.Dirty Then
If MsgBox("Deseja salvar as alterações?", vbQuestion + vbYesNo, " Confirmação") = vbNo Then
Me.Undo
DoCmd.Close
Else
DoCmd.Save
DoCmd.Close
End If
End If
End If
DoCmd.Close
End If
Tenho esse código abaixo de fechar o form com 'Esc', e coloquei alguns critérios, porém não está funfando da forma que gostaria.
Preciso que...
1. Se a pessoa teclar Esc o form fecha normal (até então blz)
2. Se a pessoa fizer alguma alteração e teclar Esc, o sistema pergunta se deseja salvar as alterações (isso tb tá ok)
3. Mas quando a pessoa clica para fazer um novo cadastro e não termina esse cadastro (clicando no botão Concluir), preciso que, caso ela clicar Esc e o SKU do produto for nulo, o sistema emite uma msg e não execute o resto do código.
Só que nesse procedimento, o sistema emite a msg, mas qdo fecho a msg ele dá seguimento no código e pergunta se desejo salvar as alterações.
If KeyCode = 27 Then
If IsNull(Me.skuProduto) Then
MsgBox "É necessário concluir ou cancelar o cadastro antes de sair..", vbCritical, "Sispac"
If Me.Dirty Then
If MsgBox("Deseja salvar as alterações?", vbQuestion + vbYesNo, " Confirmação") = vbNo Then
Me.Undo
DoCmd.Close
Else
DoCmd.Save
DoCmd.Close
End If
End If
End If
DoCmd.Close
End If