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

    Botao Fechar com msgBox no formulário e Subformulário

    avatar
    MRFELIPE
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 04/02/2014

    Botao Fechar com msgBox no formulário e Subformulário Empty Botao Fechar com msgBox no formulário e Subformulário

    Mensagem  MRFELIPE em 29/12/2020, 17:16

    Boa Tarde Feras!!

    Tenho uma dúvida que para vocês deve ser muito simples, porém está me dando dor de cabeça.
    Tenho um formulário com o botão fechar, e dentro desse formulário tem um subformulário. Acontece que quando estou editando um registro ou inserindo um novo, e clico no  botão fechar, recebo a msbox  perguntando se quero sair sem salvar (isso ocorre com os campos do formulário) porém se eu estiver editando no subformulário ele fecha direto. gostaria que me ajudassem, para que o botão fechar me pergunte também caso esteja editando ou inserindo registros no subformulário.

    Desde já agradeço a todos!

    Segue o código que estou usando no formulário. Nota: o subformulário está em uma página.


    Private Sub Comando478_Click()
    Dim x As Integer
    Dim ctl As Control
    Dim StrName As String

    If Me.Dirty Then

    If MsgBox("Deseja sair sem salvar as alterações ?", vbYesNo) = vbYes Then

    For Each ctl In Me.Controls
    Select Case ctl.ControlType
    Case acTextBox, acComboBox, acListBox, acOptionGroup, acCheckBox
    StrName = ctl.Name
    Me(StrName).Enabled = False
    End Select
    Next ctl
    DoCmd.CancelEvent
    Me.Undo
    DoCmd.ApplyFilter , "tabeladadoscadastrais.matricula=  " & Me.matricula
    Me.Comando593.Enabled = True 'novo'
    Me.Comando594.Enabled = True 'editar'
    Me.Comando595.Enabled = False 'cancelar'
    Me.Comando596.Enabled = False 'salvar'
    Me.Comando597.Enabled = True 'excluir'
    DoCmd.Close
    End If

    Else
    If Me.Dirty = False Then
    DoCmd.Close
    End If
    End If

    End Sub
    avatar
    zcarloslopes
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 370
    Registrado : 28/10/2010

    Botao Fechar com msgBox no formulário e Subformulário Empty Re: Botao Fechar com msgBox no formulário e Subformulário

    Mensagem  zcarloslopes em 30/12/2020, 12:08

    Bom dia MRFELIPE,

    O que parece estar a acontecer é que quando passas para os registos do subForm, os registos do Form são gravados, como tal: Me.Dirty = False.

    Assim não recebes a MsgBox, pois ela só corre quando: Me.Dirty = True.

    E sim, fecha o Form direto, porque é o código que corre quando: Me.Dirty = False

    Espero ter ajudado.
    avatar
    MRFELIPE
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 04/02/2014

    Botao Fechar com msgBox no formulário e Subformulário Empty Re: Botao Fechar com msgBox no formulário e Subformulário

    Mensagem  MRFELIPE em 30/12/2020, 20:41

    Boa Tarde zcarloslopes!

    Na verdade, como sou novato em access estou com alguns gatilhos. por exemplo, os botões de navegação (novo, editar, cancelar, salvar e excluir) não consegui que funcionassem no sub, tive que criar novos dentro do Sub, e com relação ao formulário ele está assim: eu entro e se não estiver em modo insert, clico em fechar e ele fecha, agora se tiver editando ou inserindo novo registro, e clicar em fechar ele me pergunta se realmente quero executar a ação. Isso ocorre dentro do Formulário, porém o Sub não funciona, e é exatamente aí o meu problema, não sei como fazer funcionar. (Tenho um Sub dentro do formulário, porque tenho 4 paginas e cada uma com uma tabela diferente). Obrigado pela ajuda!!!
    avatar
    Ismael Silva
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 700
    Registrado : 11/12/2017

    Botao Fechar com msgBox no formulário e Subformulário Empty Re: Botao Fechar com msgBox no formulário e Subformulário

    Mensagem  Ismael Silva em 30/12/2020, 23:18

    Felipe,

    Quem sabe posta o teu BD, creio que será mais fácil, uma solução.

      Data/hora atual: 18/1/2021, 19:52