MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


2 participantes

    [Resolvido]Fazer referência no VBA a um subformulário que é "Nome de Destino de Navegação" em um Formulário de Navegação

    avatar
    marcelobb
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 16/10/2014

    [Resolvido]Fazer referência no VBA a um subformulário que é "Nome de Destino de Navegação" em um Formulário de Navegação Empty [Resolvido]Fazer referência no VBA a um subformulário que é "Nome de Destino de Navegação" em um Formulário de Navegação

    Mensagem  marcelobb 16/10/2014, 16:11

    Prezados,
    Já consegui resolver inúmeras dúvidas consultando este fórum, mas desta vez preciso da ajuda de vocês para encontrar uma solução específica.
    Estou utilizando pela primeira vez o Formulário de Navegação disponível no Access 2013, porém não consigo fazer referência a um sub-formulário que é apresentado por ele.

    Vamos ao cenário:

    Criei um formulário de Navegação de dois níveis denominado “F_PLANO”

    Neste formulário há um botão de navegação no primeiro nível denominado: “BT_PLANOS” e um botão de navegação no segundo nível denominado “BT_LISTA_PLANOS”
    Associado a este “BT_LISTA_PLANOS” eu tenho como  “Nome de Destino de Navegação” o formulário “F_PLANO1” que possui um formulário “F_PLANO1_SUB” que apresenta os dados da tabela “T_PLANO1” no modo padrão “Folha de Dados”.

    O formulário “F_PLANO1” possui um botão “BT_NOVO” que abre o formulário "F_DETALHE_PLANO1" , este por sua vez permite ao usuário criar novos registros na tabela “T_PLANO1” de forma mais facilitada pois o formulário detalhe está no modo padrão “Formulário Simples” , o que facilita ao usuário visualizar os dados que está inserindo.

    O problema:  não consigo fazer referência no VBA ao formulário/subformulário “F_PLANO1”/”F_PLANO1_SUB”  para que haja um  Requery dentro do “F_PLANO” toda a vez que eu insiro dado através do formulário “F_DETALHE_PLANO1”.

    Estou usando o seguinte código ao fechar o formulário “F_DETALHE_PLANO1” (depois de inserir algum registro):

    Forms!F_PLANO!SUB_PLANOS!F_PLANO1!F_PLANO1_SUB1.Form.Requery.   O Access informa que não conseguiu localizar o F_PLANO1

    Já tentei outras variantes e nada também. Estou ficando sem ideias.
    Anexos
    [Resolvido]Fazer referência no VBA a um subformulário que é "Nome de Destino de Navegação" em um Formulário de Navegação AttachmentBanco Planos.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (111 Kb) Baixado 84 vez(es)
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Fazer referência no VBA a um subformulário que é "Nome de Destino de Navegação" em um Formulário de Navegação Empty Re: [Resolvido]Fazer referência no VBA a um subformulário que é "Nome de Destino de Navegação" em um Formulário de Navegação

    Mensagem  Noobezinho 17/10/2014, 17:47

    Olá Marcelo

    Deixe te explicar um acoisa:

    Você tem 2 formulários diferente e cada um teu seu subformulário:

    essa sintaxe está errada:

    Forms!F_PLANO!SUB_PLANOS!F_PLANO1!F_PLANO1_SUB1.Form.Requery

    Se deseja  estando dentro do F_PLANO1”/”F_PLANO1_SUB referenciar o formulário F_PLANO para dar um requery,
    a sintaxe é a seguinte:

    Forms!F_PLANO.Requery

    Viu como é simples?

    Veja que se tua relação entre as tabelas do formulário Principal F_PLANO e F_PLANO1_SUB1 estiverem corretas, quando der um
    requery no formulário Principal, o mesmo acontecerá no seu subformulário.

    Vou deixar aqui como referenciar um subformulário de um outro formulário: digamos que seja o F_PLANO1_SUB1 (Dar um requery nele)

    Forms!F_PLANO1!F_PLANO1_SUB1.form.Requery

    Abraços

    Nb


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    marcelobb
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 16/10/2014

    [Resolvido]Fazer referência no VBA a um subformulário que é "Nome de Destino de Navegação" em um Formulário de Navegação Empty Re: [Resolvido]Fazer referência no VBA a um subformulário que é "Nome de Destino de Navegação" em um Formulário de Navegação

    Mensagem  marcelobb 17/10/2014, 20:58

    Meu caro,

    Agradeço pela ajuda, porém sua solução não é aplicável no meu caso.

    A sintaxe que você sugeriu eu já havia tentado, porém sem sucesso.

    Ocorre que o formulário "F_PLANO" é um formulário do tipo Navegação e isto faz toda a diferença.

    Eu encontrei um relato bem semelhante do meu caso neste forum:

    http://www.access-programmers.co.uk/forums/showthread.php?t=223306

    A sintaxe sugerida pela solução apontada deste fórum seria:

    Forms![F_ATAC_PLANO]![SUB_PLANOS].Form.[F_ATAC_PLANO1_SUB].Requery

    Note que SUB_PLANOS é a estrutura de subformulário criada pelo formulário de navegação F_ATAC_PLANO.

    Apenas não publiquei esta informação como uma provável solução pois está ocorrendo um erro intermitente agora.
    Tem alguns momentos que o formulário realiza o requery corretamente e outras vezes que este requery falha.

    Estou pesquisando ainda, mas ainda não entendi pq isto está ocorrendo.

    Gostaria muito de encontrar uma solução concreta e compartilhar com todos, pois certamente será uma situação corriqueira para os que utilizarem estes recurso do Access (Formulário de Navegação: disponível no menu Criar / Navegação).

    avatar
    marcelobb
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 16/10/2014

    [Resolvido]Fazer referência no VBA a um subformulário que é "Nome de Destino de Navegação" em um Formulário de Navegação Empty Re: [Resolvido]Fazer referência no VBA a um subformulário que é "Nome de Destino de Navegação" em um Formulário de Navegação

    Mensagem  marcelobb 17/10/2014, 21:25

    Prezados,

    A solução que eu tinha encontrado neste fórum está super correta!

    http://www.access-programmers.co.uk/forums/showthread.php?t=223306

    Realmente a sintaxe que precisa ser usada nestes casos é:

    [Forms]![Navigation Form]![NavigationSubform].Form![subIssuesRep].Requery

    (se quiser alterar o RecordSource antes: [Forms]![Navigation Form]![NavigationSubform].Form![subIssuesRep].Form.RecordSource = IssuesSQL)

    No meu caso concreto a sintaxe que resolveu foi:


    Forms!F_ATAC_PLANO!SUB_PLANOS.Form!F_ATAC_PLANO1_SUB.Requery

    Por mais "estranho" que pareça, você não faz referência ao diretamente ao formulário que está contido como subformulário do formulário de navegação (no meu caso o F_ATAC_PLANO), mas sim ao seu subformulário (F_ATAC_PLANO_SUB).

    Quando eu testei esta solução a princípio não funcionou pois coloquei este código no botão que verificava o preenchimento do formulário pop-up (F_DETALHE_PLANO1) e o fechava. Quando eu coloquei este código no evento Ao fechar deste formulário pop-up passo a funcionar sempre.

    Espero que minha dúvida ajude outros. Obrigado!
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Fazer referência no VBA a um subformulário que é "Nome de Destino de Navegação" em um Formulário de Navegação Empty Re: [Resolvido]Fazer referência no VBA a um subformulário que é "Nome de Destino de Navegação" em um Formulário de Navegação

    Mensagem  Noobezinho 17/10/2014, 22:14

    Marcelo

    Tinha postado e então vi que postou.

    Realmente eu li o artigo que disponibilizou e realmente é um tanto estranho.

    Parabéns amigo!!

    Deve ter soltado uma  dúzia de fogos de artifício né?

    Lavou a alma Laughing Laughing

    E obrigado pro compartilhar !

    Grande abraço

    Nb


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    marcelobb
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 16/10/2014

    [Resolvido]Fazer referência no VBA a um subformulário que é "Nome de Destino de Navegação" em um Formulário de Navegação Empty Re: [Resolvido]Fazer referência no VBA a um subformulário que é "Nome de Destino de Navegação" em um Formulário de Navegação

    Mensagem  marcelobb 17/10/2014, 22:59

    Sem dúvida!! Eu perdi um dia inteiro com isto.

    Obrigado pela força!

    Abraços,

    Marcelo

    Conteúdo patrocinado


    [Resolvido]Fazer referência no VBA a um subformulário que é "Nome de Destino de Navegação" em um Formulário de Navegação Empty Re: [Resolvido]Fazer referência no VBA a um subformulário que é "Nome de Destino de Navegação" em um Formulário de Navegação

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/9/2024, 01:20