MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Condição para fechar form com 'Esc'

    Krauss
    Krauss
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 195
    Registrado : 23/12/2011

    [Resolvido]Condição para fechar form com 'Esc' Empty [Resolvido]Condição para fechar form com 'Esc'

    Mensagem  Krauss em 22/11/2020, 04:00

    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


    .................................................................................
    Trabalho com Access 2013

    "A dúvida é o princípio da sabedoria"
    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1236
    Registrado : 07/12/2011

    [Resolvido]Condição para fechar form com 'Esc' Empty Re: [Resolvido]Condição para fechar form com 'Esc'

    Mensagem  tauron em 22/11/2020, 11:37

    Krauss, me perdoe mas, esse código realmente funcionando?

    tente ai:

    If KeyCode = 27 Then
    If IsNull(Me.skuProduto) Then
    MsgBox "É necessário concluir ou cancelar o cadastro antes de sair..", vbCritical, "Sispac"
    Exit Sub
    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
    Krauss
    Krauss
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 195
    Registrado : 23/12/2011

    [Resolvido]Condição para fechar form com 'Esc' Empty Re: [Resolvido]Condição para fechar form com 'Esc'

    Mensagem  Krauss em 22/11/2020, 18:39

    Oi tauron, blz?

    Olha, primeiramente obrigado pela ajuda! Testei seu código e ele funciona quase perfeitamente (esc fecha form e tb impede fechar o form caso o sku for vazio), porém quando faço uma edição e clico Esc, ele tá fechando direto e salvando a edição, sem  antes perguntar se desejo salvá-las.

    Edit.: fiz uma pequena alteração no cídigo que você me passou e deu certo!!! Alterei o If Me.Dirty Then para ElseIf Me.Dirty Then e troquei o End If por Exit Sub. Funfou perfeitamente! Eis como ficou o código e muito obrigado pela ajuda!

    If KeyCode = 27 Then
    If IsNull(Me.skuProduto) Then
    MsgBox "É necessário concluir ou cancelar o cadastro antes de sair..", vbCritical, "Sispac"
    Exit Sub

    ElseIf 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
    Exit Sub

    End If
    DoCmd.Close
    End If


    .................................................................................
    Trabalho com Access 2013

    "A dúvida é o princípio da sabedoria"
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2441
    Registrado : 22/11/2016

    [Resolvido]Condição para fechar form com 'Esc' Empty Re: [Resolvido]Condição para fechar form com 'Esc'

    Mensagem  DamascenoJr. em 22/11/2020, 19:10

    Talvez ajude em algum momento
    usandoaccess.com.br/blog/gravar-quando-clicar-salvar.asp?id=1


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Krauss
    Krauss
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 195
    Registrado : 23/12/2011

    [Resolvido]Condição para fechar form com 'Esc' Empty Re: [Resolvido]Condição para fechar form com 'Esc'

    Mensagem  Krauss em 22/11/2020, 19:16

    Faltou o resolvido. Abs!


    .................................................................................
    Trabalho com Access 2013

    "A dúvida é o princípio da sabedoria"
    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1236
    Registrado : 07/12/2011

    [Resolvido]Condição para fechar form com 'Esc' Empty Re: [Resolvido]Condição para fechar form com 'Esc'

    Mensagem  tauron em 22/11/2020, 21:40

    O forum agradece pelo retorno.

      Data/hora atual: 24/11/2020, 08:31