MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Validar campos com preench. obrigatório pela Tag

    Compartilhe

    JKOHLERS
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 56
    Registrado : 12/11/2009

    Validar campos com preenchimento obrigatório pela Tag

    Mensagem  JKOHLERS em Seg 11 Jan 2010, 19:13

    Olá pessoal, em especial Jpaulo,

    O código [Você precisa estar registrado e conectado para ver este link.] faz parte da biblioteca de codigos VBA disponibilizado pelo JPaulo aqui no fórum. Funciona perfeitamente.

    Porém eu gostaria de poder selecionar quais campos serão validados ou não, pela propriedade Marca (Tag) do controle, e não pelo tipo controle, como faz o código.

    Isso porque tenho campos que necessitam dessa validação e outros que não, alguns são combobox, alguns são textbox.

    Dessa forma, eu selecionaria os campos que necessitam de validação apenas incluindo um texto qualquer, por exemplo, "VALIDAR", na propriedade marca(tag) do controle.

    Isso me ajudaria também a otimizar o BD, pois poderia usar essa função como uma função global, o que seria muito interessante.

    Obrigado desde já,

    Forte abraço e feliz 2010 a todos os amigos do forum.

    Abraços.


    .................................................................................
    JEFFERSON
    Curitiba - Brasil

    MS-ACCESS 2007

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Validar campos com preench. obrigatório pela Tag

    Mensagem  JPaulo em Seg 11 Jan 2010, 19:22

    Ola amigo;

    Para o que pretende, utilize este código:

    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


    Chamar a função:

    Call valNullControl(Me)


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    JKOHLERS
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 56
    Registrado : 12/11/2009

    Re: [Resolvido]Validar campos com preench. obrigatório pela Tag

    Mensagem  JKOHLERS em Seg 11 Jan 2010, 19:51

    Jpaulo,
    Nem preciso dizer que funcionou perfeitamente. vc é mesmo o mago do VBA... Smile Rápido, preciso, e superando as expectativas. Essa de colorir o background foi muito bacana.

    Só tive um problema (que nem chega a ser um problema), criado por mim mesmo. Estou usando um formulario contínuo para estes cadastros, e quando o background de um campo de um registro fica "colorido", obviamente os demais campos similares abaixo, tb ficam, estando ou não preenchidos.

    existe uma forma descomplicada de resolver isto ou é melhor mesmo nao colorir o background?

    o que vc me recomenda?

    muito obrigado

    abraços

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Validar campos com preench. obrigatório pela Tag

    Mensagem  JPaulo em Ter 12 Jan 2010, 11:28

    Ola bom dia !

    Para formulario continuo eu recomendaria a formatação condicional direta em cada campo pretendido, ela funciona perfeito e é uma parametrização que fica para sempre.

    O codigo acima não funciona em form continuo.


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    JKOHLERS
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 56
    Registrado : 12/11/2009

    Re: [Resolvido]Validar campos com preench. obrigatório pela Tag

    Mensagem  JKOHLERS em Ter 12 Jan 2010, 11:38

    Bom dia JPaulo,

    entendido. muito obrigado pela recomendação.

    Abraço e sucesso a vc tb.


    .................................................................................
    JEFFERSON
    Curitiba - Brasil

    MS-ACCESS 2007

    marciomelo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 05/03/2012

    Solução perfeita

    Mensagem  marciomelo em Qui 22 Maio 2014, 19:33

    Parabéns pelo código criado, ficou super prático... fiz uma pequena adaptação no final da rotina para retornar True e assim poder testar uma combox de Status, no meu caso que uso tabelas vinculadas eu trabalho os registros conforme um Status... e só consegue ter o valor "Ok - arquivar" quando tiver todos os campos preenchidos...

    'Rotina do site [Você precisa estar registrado e conectado para ver este link.]
    'De JPaulo - adaptado por Márcio Melo
    'VALIDAR OS CAMPOS DE UM FORM
    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 = 255 ' vermelho '161616 cor original
    validacaoOk = 1
    minhaArray = minhaArray & ctl.Tag & ", "
    End If
    End If
    End If
    Next ctl
    If validacaoOk = 1 Then
    MsgBox "Campo Obrigatório: " & minhaArray
    valNullControl = True 'passei um retorno da função em True quando tiver a mensagem.
    End If
    End Function

    'Abaixo no evento ao Atualizar do Combox StatusOK , se algum campo tiver faltando ser preenchido o status vai ter valor 2;Pendente se não... continua com o outro valor...
    ---------------------------------------
    Private Sub StatusOk_AfterUpdate()

    If valNullControl(Me) = True Then
    Me.StatusOk = 2
    Else
    'MsgBox "Dados obrigatórios preenchidos...", vbInformation, "Ok!"
    End If

    End Sub

    Sou mais Brasil!

    Ficou perfeito para a minha finalidade... e deixo aqui outras combinações e adaptações desta magnífica rotina

    Forte Abraço... J Paulo
    .

    Magnho
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1
    Registrado : 19/09/2015

    ME SALVOU

    Mensagem  Magnho em Sex 06 Nov 2015, 18:56

    ESTA DICA ME SALVOU DE TAL FORMA... QUE VOCES NAO TEM NEM NOÇAO...


    MUITO OBRIGADO, A INTELIGÊNCIA DE VOCES TRANSBORDA

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3195
    Registrado : 15/03/2013

    Re: [Resolvido]Validar campos com preench. obrigatório pela Tag

    Mensagem  ahteixeira em Sex 06 Nov 2015, 19:21

    Olá Magnun, bem-vindo ao fórum.

    Antes de tudo obrigado pelo retorno Wink

    No entanto veja no link abaixo as regras do fórum, em especial o nº 12:
    [Você precisa estar registrado e conectado para ver este link.]

    Edite a sua mensagem e regularize a situação.
    Abraço e bons estudos.

      Data/hora atual: Sab 03 Dez 2016, 02:26