MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

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


4 participantes

    [Resolvido]Caixa de mensagens

    avatar
    Dorival J
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 69
    Registrado : 02/05/2016

    [Resolvido]Caixa de mensagens Empty [Resolvido]Caixa de mensagens

    Mensagem  Dorival J 15/3/2017, 07:44

    Olá rapaziada!

    Pessoal, eu tô com um formulário cujo botão fechar eu inseri o seguinte código na caixa de mensagem caso seja feito qualquer alteração:

    If Form.Dirty = False Then
    DoCmd.Close
    ElseIf Form.Dirty = True Then
    If msgbox("Deseja salvar as alterações?", vbYesNoCancel + vbQuestion) = vbYes Then
    DoCmd.RunCommand acCmdSaveRecord
    DoCmd.Close
    Else
    Me.Undo
    DoCmd.Close
    End If
    End If

    -------------------------------------------
    Eu gostaria de saber qual e onde acrescento o código para o botão cancelar da caixa de mensagem?
    Os botões Sim e não funcionam normalmente.

    Podem me ajudar?


    Grato - Dorival
    marcelo marques
    marcelo marques
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1003
    Registrado : 12/04/2016

    [Resolvido]Caixa de mensagens Empty Re: [Resolvido]Caixa de mensagens

    Mensagem  marcelo marques 15/3/2017, 10:00

    bom dia você quer saber onde colocar este código se foi isso você pode colocar no evento ao fechar
    avatar
    Dorival J
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 69
    Registrado : 02/05/2016

    [Resolvido]Caixa de mensagens Empty Re: [Resolvido]Caixa de mensagens

    Mensagem  Dorival J 15/3/2017, 12:19

    Não, Não é isso!

    O código está no evento ao fechar do botão.

    Ó que eu quero saber é: Qual é o código do botão cancelar que aparece na caixa de mensagem (vbYesNoCancel)
    E onde eu devo inseri-lo na sequencia de códigos acima.
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido]Caixa de mensagens Empty Re: [Resolvido]Caixa de mensagens

    Mensagem  CassioFabre 15/3/2017, 12:32

    Boa tarde,

    Segue:
    Código:
        Dim q As String
       
        q = MsgBox("Sua Mensagem", vbYesNoCancel)
       
        Select Case q
            Case vbYes
                'codigo se verdadeiro
            Case vbNo
                'codigo se falso
            Case Else
                'codigo se cancelar
        End Select

    Abraço.
    avatar
    Dorival J
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 69
    Registrado : 02/05/2016

    [Resolvido]Caixa de mensagens Empty Re: [Resolvido]Caixa de mensagens

    Mensagem  Dorival J 16/3/2017, 10:22

    Olá Cássio!

    Não deu certo!

    Quando clico no botão cancelar, ele fecha o formulário, quando deveria permanecer aberto.
    No código que eu mencionei acima acontece a mesma coisa

    Tem alguma outra solução?
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido]Caixa de mensagens Empty Re: [Resolvido]Caixa de mensagens

    Mensagem  CassioFabre 16/3/2017, 11:16

    Boa tarde,

    Tente:
    Código:
    Dim q as string

    q = msgbox("Deseja salvar as alterações?", vbYesNoCancel + vbQuestion)

    If not q = "vbCancel" then
        If Form.Dirty = False Then
            DoCmd.Close
        ElseIf Form.Dirty = True Then
            If q = "vbYes" then
                DoCmd.RunCommand acCmdSaveRecord
                DoCmd.Close
            Else
                Me.Undo
                DoCmd.Close
            End if
        End if
    End If

    Abraço.
    avatar
    Dorival J
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 69
    Registrado : 02/05/2016

    [Resolvido]Caixa de mensagens Empty Re: [Resolvido]Caixa de mensagens

    Mensagem  Dorival J 16/3/2017, 16:18

    Olá !

    Agora qualquer um dos botões ao clicar, está fechando o formulário.

    Se você tiver outro método, eu agradeço. Vou tentando por aqui

    Até mais!
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    [Resolvido]Caixa de mensagens Empty Re: [Resolvido]Caixa de mensagens

    Mensagem  Avelino Sampaio 17/3/2017, 03:40

    Dorival,

    não vi razão para que a sugestão do Cassio não funcione. Experimente:

    Dim q
    If Form.Dirty = False Then
    DoCmd.Close
    ElseIf Form.Dirty = True Then
    q = MsgBox("Deseja salvar as alterações?", vbYesNoCancel + vbQuestion)
    Select Case q
    Case vbYes
    DoCmd.RunCommand acCmdSaveRecord
    DoCmd.Close
    Case vbNo
    Me.Undo
    DoCmd.Close
    End Select
    End If


    Aguardamos
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido]Caixa de mensagens Empty Re: [Resolvido]Caixa de mensagens

    Mensagem  CassioFabre 17/3/2017, 07:20

    Bom dia,

    Segue:
    Código:
       Dim q As String
        
        q = MsgBox("Deseja salvar o registro?", vbQuestion + vbYesNoCancel, "Sair")
        
        If Not q = vbCancel Then
            If Me.Dirty = True Then
                If q = vbYes Then
                    DoCmd.RunCommand acCmdSaveRecord
                Else
                    Me.Undo
                End If
            End If
            
            DoCmd.Close
        End If

    O problema estava em atribuir o vbCancel entre aspas, como texto, por algum motivo não reconhecia. Então basta tirar as aspas do vbCancel e vbYes. Estou mandando um modelo em anexo.

    O código do grande Avelino não peca em nada, então também vai funcionar perfeitamente.

    Abraço.
    Anexos
    [Resolvido]Caixa de mensagens AttachmentCancel.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (50 Kb) Baixado 21 vez(es)
    avatar
    Dorival J
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 69
    Registrado : 02/05/2016

    [Resolvido]Caixa de mensagens Empty Re: [Resolvido]Caixa de mensagens

    Mensagem  Dorival J 17/3/2017, 10:41

    Olá Cassio,
    Boa tarde!

    Agora está perfeito!

    Tanto o seu código como o do Avelino, estão funcionando exatamente como eu queria.

    Quero agradecer a todos que se dispuseram a ajudar!


    Obrigado e até a próxima!



    Conteúdo patrocinado


    [Resolvido]Caixa de mensagens Empty Re: [Resolvido]Caixa de mensagens

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/11/2024, 17:46