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

    Requerimento obrigatório no VBA

    Compartilhe

    jonhnny
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2
    Registrado : 15/12/2014

    Requerimento obrigatório no VBA

    Mensagem  jonhnny em Sex 02 Set 2016, 18:33

    Boa tarde.

    Criei uma caixa de seleção que ao ser marcada desbloqueia uma caixa de listagem(lista suspensa) para q o usuário possa escolher um dos itens.
    E quando a caixa de seleção não for ativada, a caixa de listagem permanece bloqueada para edição.


    Private Sub E_AfterUpdate()
    If E.Value = -1 Then
    Me.TipoDeImpacto.Enabled = True
    Me.Required
    ElseIf E.Value = 0 Then
    Me.TipoDeImpacto.Enabled = False
    End If
    End Sub

    O que estou tentando fazer agora, é que o access entenda que ao ativar a caixa de seleção, obrigatoriamente o usuário tem que selecionar um dos itens na caixa de listagem(lista suspensa). Caso contrário, deverá desmarcar a caixa de seleção para poder salvar seu cadastro.

    Alguém tem uma ideia de como posso fazer isso?
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3415
    Registrado : 14/08/2013

    Re: Requerimento obrigatório no VBA

    Mensagem  FabioPaes em Seg 05 Set 2016, 02:23

    Amigo da pra fazer assim, com dois codigos (Apos atualizar do campo E e no evento ao sair do Campo TipoDeImpacto)

    Apos atualizar do Campo E coloque:
    Código:
    Private Sub E_AfterUpdate()
    If E.Value = -1 Then
    Me.TipoDeImpacto.Enabled = True
    Me.TipoDeImpacto.SetFocus
    ElseIf E.Value = 0 Then
    Me.TipoDeImpacto.Enabled = False
    End If
    End Sub


    Agora, Ao sair do Campo TipoDeImpacto coloque:

    Código:
    Private Sub TipoDeImpacto_Exit(Cancel As Integer)
    If Nz(Len(Me.TipoDeImpacto)) = 0 And Me.E = -1 Then
        'Se escolher NÃO ele e direcionado novamente ao campo TipodeImpacto e continua em um Loop infinito ate ele escolher SIM.
        'Se escolher SIM ele desmarca o campo E e desabilita o Campo TipodeImpacto.
        If MsgBox("O Campo Tipo de Impacto é Obrigatorio se Marcado o Campo  (E...)" & vbNewLine & "Deseja Desmarcar o Campo E...???", vbYesNo + vbInformation, "Atenção!!!") = vbYes Then
        Me.E = 0
        Me.TipoDeImpacto.Enabled = False
        'Mova para o proximo campo a ser preenchido aqui

        Else
        Me.E.SetFocus
        Me.TipoDeImpacto.SetFocus
        End If
    End If
    End Sub

    Melhore o Texto da Mensagem Box para que o usuario entenda o que esta querendo transmitir a ele... o Comado VbNewLine joga o texto seguinte para nova Linha.


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    jonhnny
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2
    Registrado : 15/12/2014

    Re: Requerimento obrigatório no VBA

    Mensagem  jonhnny em Ter 06 Set 2016, 12:14

    Bom dia.
    então... fiz como vc me disse, e quando "E" é selecionado, o tipo de impacto recebe foco do jeito q eu queria.
    O problema é que ele não sai de lá mesmo depois q vc escolhe um dos itens na lista suspensa (Segurança, Meio ambiente, ergonomia).

    As caixas de seleção são: P / Q / C / D / S / M / E

    Sendo que, quero que esse código q vc me passou, funcione em "E" e em "S". cyclops
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3415
    Registrado : 14/08/2013

    Re: Requerimento obrigatório no VBA

    Mensagem  FabioPaes em Ter 06 Set 2016, 12:36

    Posta aqui o exemplo por favor... Fica mais Facil, pois aqui testei e funcinou direitinho...


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

      Data/hora atual: Seg 20 Nov 2017, 17:07