MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Criticar ao fechar o formulário.

    Compartilhe
    avatar
    wsenna
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 492
    Registrado : 22/12/2009

    [Resolvido]Criticar ao fechar o formulário.

    Mensagem  wsenna em Qui 16 Jan 2014, 22:44

    Olá Feras de plantão, boa noite.

    Procurando aqui no forum acabei achando esse código passado pelo Grande Mestre JPaulo que faz a verificação somente dos campos que se desejar.

    Public Function valNullControl(frm As Form)
    Dim ctl As Control
    Dim minhaArray As String
    Dim validacaoOk As Byte

    validacaoOk = 0

    For Each ctl In frm.Controls
    If ctl.Tag <> Null Or ctl.Tag <> "" Then
    ctl.BackColor = 16777215
    End If
    Next ctl

    For Each ctl In frm.Controls
    If ctl.Visible = True Then
    If ctl.Tag <> Null Or ctl.Tag <> "" Then
    If IsNull(ctl) = True Or ctl = "" Then
    ctl.BackColor = 161616
    validacaoOk = 1
    minhaArray = minhaArray & ctl.Tag & ", "
    End If
    End If
    End If
    Next ctl
    If validacaoOk = 1 Then MsgBox "Campo Obrigatório: " & minhaArray

    End Function


    No botão adicionar o código ficará assim:

    Private Sub Adicionar_Click()

    Dim db As Database
    Dim rs As Recordset

    If MsgBox("Gravar registro?", vbYesNoCancel, "Opções") = vbYes Then

    If valNullControl(Me) = False Then
    Exit Sub
    End If

    Set db = CurrentDb()
    Set rs = db.OpenRecordset("tblClientes", dbOpenTable)
    rs.AddNew

    Agora é que a coisa pega:

    Como sinalizar para o usuário no evento ao fechar o formulário ou mudar de registro que o mesmo ainda não foi gravado?

    Abraços, WSenna


    Última edição por wsenna em Sex 17 Jan 2014, 13:35, editado 1 vez(es)
    avatar
    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11234
    Registrado : 30/12/2009

    Re: [Resolvido]Criticar ao fechar o formulário.

    Mensagem  criquio em Qui 16 Jan 2014, 22:52

    Geralmente eu uso limpar os campos após a gravação. Nesse caso, seria só verificar se os campos contem dados, o que significaria que os mesmos ainda não foram gravados.


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    wsenna
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 492
    Registrado : 22/12/2009

    Re: [Resolvido]Criticar ao fechar o formulário.

    Mensagem  wsenna em Qui 16 Jan 2014, 23:05

    Grande Criquio, boa noite.

    Grato pela sua atenção, mas como faço isso no código acima?

    Tentei inserir um campo do tipo sim/não para que ao gravar o registro tornasse este campo =-1 e assim ao fechar ou mudar de registro esse campo seria pesquisado e se estivesse com valor 0 (zero) emitiria uma mensagem mas não obtive sucesso.

    Abraços, WSenna
    avatar
    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11234
    Registrado : 30/12/2009

    Re: [Resolvido]Criticar ao fechar o formulário.

    Mensagem  criquio em Qui 16 Jan 2014, 23:45

    Nem é preciso incluir na mesma função. Podemos usar o evento "Ao descarregar" do formulário:

    Código:
    Dim C As Control, TemNulo As Boolean

    TemNulo = False

    For Each C In Me.Controls
        If C.Tag = "Requerido" Then
            If Not IsNull(C) Then
                TemNulo = True
            End If
        End If
    Next

    If TemNulo Then
        MsgBox "Há registro sem gravar. O formulário não pode ser fechado agora."
        DoCmd.CancelEvent
    End If

    Estou supondo que queira verificar apenas os campos com a Tag com algo que indique campo requerido. Caso queria verificar todos os campos, pode tirar o If que verifica a Tag.


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    wsenna
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 492
    Registrado : 22/12/2009

    Re: [Resolvido]Criticar ao fechar o formulário.

    Mensagem  wsenna em Sex 17 Jan 2014, 00:58

    Legal Criquio.

    Só precisamos agora, ao invés de Requerido que a tag seja substituída pelo nome do controle.

    WSenna
    avatar
    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11234
    Registrado : 30/12/2009

    Re: [Resolvido]Criticar ao fechar o formulário.

    Mensagem  criquio em Sex 17 Jan 2014, 22:52

    Então já resolveu, não?


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


      Data/hora atual: Seg 26 Jun 2017, 09:49