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


3 participantes

    [Resolvido]Ploblema com Código

    Luiz Gustavo M
    Luiz Gustavo M
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 447
    Registrado : 13/09/2011

    [Resolvido]Ploblema com Código Empty Ploblema com Código

    Mensagem  Luiz Gustavo M 7/7/2012, 02:39

    Boa Noite Amigos.

    É o seguinte:
    Ao sair (Click num Botão) de um FormsSimples é verificado se todos os campos estão preenchidos e é pedido confirmação para salvar ou não. Os códigos, isoladamente, funcionam a contento.

    O Problema é o seguinte:
    Quando clico no botão, havendo um campo em branco, o foco vai para este campo. Até ai tudo certo. Mas se eu ao invés de preencher o campo e clicar no botão sair novamente, simplesmente sai do Forms.

    O que estou fazendo errado? Question
    Private Sub Comando19_Click()
    If Dirty = True Then
    If MsgBox("Salvar?", vbYesNo, "Aviso") = vbYes Then
    Call ValidaPreenchimento
    DoCmd.RunCommand acCmdSaveRecord
    Else
    Form.Undo
    DoCmd.Close
    End If
    Else
    DoCmd.Close
    End If
    End Sub


    Public Function ValidaPreenchimento() As Boolean
    'By JPaulo ®️ Maximo Access
    Dim ctl As Control
    For Each ctl In Me.Controls
    If (ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox) And ctl.Visible = True Then
    If IsNull(ctl.Value) Or (ctl.Value = 0) Then
    MsgBox "O Campo '" & ctl.Tag & "' não pode ficar em branco"
    ctl.SetFocus
    Exit Function
    End If
    End If
    Next
    End Function


    Obrigado

    Luiz Gustavo
    Finformática
    Finformática
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1078
    Registrado : 23/03/2010

    [Resolvido]Ploblema com Código Empty Re: [Resolvido]Ploblema com Código

    Mensagem  Finformática 7/7/2012, 02:42

    DoCmd.Close Não estaria no local errado?
    Luiz Gustavo M
    Luiz Gustavo M
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 447
    Registrado : 13/09/2011

    [Resolvido]Ploblema com Código Empty Re: [Resolvido]Ploblema com Código

    Mensagem  Luiz Gustavo M 7/7/2012, 02:58

    Kinhosinf.
    Agradeço a atenção.

    Meus conhecimentos são limitados.
    Mas acredito que os DoCmd.Close (os dois) estão corretos. Não sei!!!

    Poderia ser no If Dirty = True then? Estou considerando: "Se o formulário estiver sujo então...".
    Isto está correto? Question

    Abraços
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Ploblema com Código Empty Re: [Resolvido]Ploblema com Código

    Mensagem  Alexandre Neves 7/7/2012, 11:59

    Bom dia,

    A função ValidaPreenchimento deverá devolver um valor boleano /Sim/Não)
    No código do botão, em vez de
    Call ValidaPreenchimento
    DoCmd.RunCommand acCmdSaveRecord
    deverá ser
    If ValidaPreenchimento Then DoCmd.RunCommand acCmdSaveRecord

    Obs.: Comando19 é um nome que não ajuda na identificação do botão
    Luiz Gustavo M
    Luiz Gustavo M
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 447
    Registrado : 13/09/2011

    [Resolvido]Ploblema com Código Empty Re: [Resolvido]Ploblema com Código

    Mensagem  Luiz Gustavo M 7/7/2012, 20:40

    Boa tarde Alexandre.
    Grato pela dica sobre o Botão.
    E muitíssimo obrigado pela solução. cheers
    Ficou perfeito.
    Valeu!!!

    Ficou assim:
    Private Sub Sair_Click()
    If Dirty = True Then
    If MsgBox("Salvar?", vbYesNo, "Aviso") = vbYes Then
    If ValidaPreenchimento Then
    DoCmd.Close
    End If
    Else
    Form.Undo
    DoCmd.Close
    End If
    Else
    DoCmd.Close
    End If
    End Sub

    Conteúdo patrocinado


    [Resolvido]Ploblema com Código Empty Re: [Resolvido]Ploblema com Código

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/5/2024, 03:38