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

    Execução de rotinas somente com campos estando visíveis

    Compartilhe
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 317
    Registrado : 20/07/2010

    Execução de rotinas somente com campos estando visíveis

    Mensagem  OLDRIVG em 18/10/2018, 17:21

    Prezados, boa tarde.

    Em um formulário X existe um controle guia com duas páginas, 1 e 2. Ambas com vários campos.

    A página 1 é visível ao abrir o formulário X e a página 2 somente se torna visível se o último campo da página 1 contiver dados.

    Os campos da página 2 possuem rotinas que são cumpridas ao ocorrer alguma alteração nos campos. Ocorre que algumas rotinas estão sendo executadas quando a página ainda não se encontra visível. Assim sendo, pergunto se existe algum código/função que faça com que a execução de rotinas dos campos da página 2 sejam executadas somente quando a página estiver visível?

    Agradeço pelas possíveis ajudas e/ou respostas.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Execução de rotinas somente com campos estando visíveis

    Mensagem  Alexandre Neves em 18/10/2018, 19:11

    Quando o separador 2 estiver seleccionado, o separador não está
    o valor do controlo começa em zero, assim, se o valor for 1 o separador está na segunda página


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 317
    Registrado : 20/07/2010

    Re: Execução de rotinas somente com campos estando visíveis

    Mensagem  OLDRIVG em 19/10/2018, 11:46

    Prezado Alexandre Neves, bom dia.

    Agradeço-lhe pela a atenção, mas não entendi sua explicação.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Execução de rotinas somente com campos estando visíveis

    Mensagem  Alexandre Neves em 19/10/2018, 11:53

    Bom dia
    valores do separador:
    1ª aba - NomeSeparador=0
    2ª aba - NomeSeparador=1
    3ª aba - NomeSeparador=2
    ...

    Veja qual a aba seleccionada a partir do valor do separador
    if NomeSeparador =1 then 'executa quando estiver na 2ª aba


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 317
    Registrado : 20/07/2010

    Re: Execução de rotinas somente com campos estando visíveis

    Mensagem  OLDRIVG em 19/10/2018, 12:52

    Agradeço mais uma vez. Bom dia.

    Imagino que "Separador" seja "Pagina".

    Se assim for, para que as rotinas sejam executadas somente quando a "Pagina 2" de índice 1 estiver visível eu teria que colocar o código sugerido por você (If NomePagina=1 then) em cada campo onde haja a rotina, correto?

    P. Ex. No evento Clicar de um botão "Salvar" do formulário teria o código abaixo.

    If IsNull(txtcampo1) = True Then
    MsgBox "É obrigado o preenchimento do campo TxtCampo1"
    Me.txtcampo1.SetFocus
    End If


    Preciso que a rotina acima seja executada quando a "Pagina 2" de índice 1 do controle "Guia" estiver visível, para que não seja exibida a mensagem caso clique no botão "Salvar" sem que a "Pagina 2" esteja visível.

    Como eu implementaria o código NomePagina=1 then, sugerido por você?

    Desculpe-me pela falta de conhecimento abrangente em códigos.
    caiosouza
    caiosouza
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 05/12/2016

    Re: Execução de rotinas somente com campos estando visíveis

    Mensagem  caiosouza em 19/10/2018, 15:34

    Ou simplesmente:

    Código:
    If Pagina2.Visible = True Then: Call SuaRotina1: Call SuaRotina2: Call SuaRotina3


    .................................................................................
    A persistência leva ao sucesso!

      Data/hora atual: 23/3/2019, 11:27