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

    Mostrar campo do subformulário via código

    Compartilhe

    ilvecchio
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 127
    Registrado : 16/11/2012

    Mostrar campo do subformulário via código

    Mensagem  ilvecchio em Sex 13 Jun 2014, 13:32

    Buenas!
    Tenho o FormAgenda e nele o subformulário SubAgenda (é um formulário contínuo). Neste, algumas caixas de seleção, com a Marca = "Ausencia". Todos os campos estão vinculados à uma tabela.
    Preciso mostrar/ocultar essas caixas de seleção conforme seu valor (verdadeiro ou falso).

    fiz esse código:

    Dim ctlAusencia As Control
    Dim frm As Form

    Set frm = Screen.ActiveForm
    For Each ctlAusencia In frm
    If ctlAusencia.ControlType = acCheckBox And ctlAusencia.Tag = "Ausencia" Then
    If ctlAusencia.Value = True Then
    ctlAusencia.Visible = True

    Else
    ctlAusencia.Visible = False

    End If
    Else
    End If
    Next ctlAusencia

    O problema: o frm precisa ser o formulário ativo para funcionar (no caso o SubAgenda), porém não sei em que evento colocar o código (ao abrir não funcionou) e não sei, também, como tornar o SubAgenda ativo.

    Seria bom que o evento ocorresse logo após a abertura do FormAgenda.



    Última edição por ilvecchio em Sex 13 Jun 2014, 13:53, editado 1 vez(es)

    rdrck
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 983
    Registrado : 11/03/2014

    Re: Mostrar campo do subformulário via código

    Mensagem  rdrck em Sex 13 Jun 2014, 13:39

    Olá Luiz,
    Talvez fosse melhor postar os objetos envolvidos de seu BD aqui pra podermos dar uma olhada e entender o problema.
    A princípio, lhe recomendo testar o código no evento Após atualizar de sua caixa de seleção e, na linha abaixo, fazer a seguinte modificação:

    If ctlAusencia.Value = True Then

    If ctlAusencia.Value = -1 Then

    Teste e dê um retorno.


    .................................................................................
    Meu Programa / OS:
    Access 2007 - Windows 7.

    ilvecchio
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 127
    Registrado : 16/11/2012

    Re: Mostrar campo do subformulário via código

    Mensagem  ilvecchio em Sex 13 Jun 2014, 14:04

    Essas caixas de seleção não são selecionadas nesse formulário. Elas só aparecem para informar uma situação.
    Por opção, prefiro não mostrá-las no formulário se estiverem com o valor "falso".

    Se a formatação condicional permitisse, a usaria. Mas só permite alterar cor e fonte.

    rdrck
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 983
    Registrado : 11/03/2014

    Re: Mostrar campo do subformulário via código

    Mensagem  rdrck em Sex 13 Jun 2014, 14:06

    Tente no evento "No Atual" (Current) do formulário.


    .................................................................................
    Meu Programa / OS:
    Access 2007 - Windows 7.

    ilvecchio
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 127
    Registrado : 16/11/2012

    Re: Mostrar campo do subformulário via código

    Mensagem  ilvecchio em Sex 13 Jun 2014, 15:18

    Também não funciona.
    A questão primeira é que o código só funciona para a janela ativa:

    Set frm = Screen.ActiveForm
    For Each ctlAusencia In frm

    Então, preciso fazer com que o SubAgenda seja a janela ativa. Isso eu não consegui fazer.
    Preciso da sintaxe que o faça.

      Data/hora atual: Sex 09 Dez 2016, 07:42