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


4 participantes

    [Resolvido]Referência a SubForm em um módulo

    avatar
    williamsl
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 24/09/2011

    [Resolvido]Referência a SubForm em um módulo Empty Referência a SubForm em um módulo

    Mensagem  williamsl 13/1/2013, 00:44

    Saudações a todos!

    Gostaria de uma ajuda, por favor.

    Num módulo qualquer do BD tenho a seguinte situação:



    Public Sub NomeDoModulo(SubForm)

    Dim FormAtualAberto As Form

    ...

    Set FormAtualAberto = Forms(SubForm)

    ...

    End Sub





    A questão é: como fazer referência ao subformulário na expressão 'Forms(SubForm)', da maneira correta?

    Grato desde já.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Referência a SubForm em um módulo Empty Re: [Resolvido]Referência a SubForm em um módulo

    Mensagem  criquio 13/1/2013, 00:47

    Já tentou assim?

    Forms(SubForm).Form


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    williamsl
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 24/09/2011

    [Resolvido]Referência a SubForm em um módulo Empty Referência a SubForm em um módulo

    Mensagem  williamsl 13/1/2013, 01:03

    Já tentei, mas não funcionou.

    Na verdade eu preciso saber qual a referência que devo colocar quando chamar o módulo de dentro do formulário principal.

    a princípio coloquei 'Call NomeDoModulo(Forms!FormPrincipal!SubForm.Form.Name)', mas não está funcionando.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    [Resolvido]Referência a SubForm em um módulo Empty Re: [Resolvido]Referência a SubForm em um módulo

    Mensagem  Avelino Sampaio 13/1/2013, 08:54

    Olá

    Vc pode usar assim:

    Código:
    Public Sub NomeDoModulo(frm as form, ctl as string)
      NomeDoModulo = frm(ctl)
    end sufunction

    Supondo que vc queira retornar com um valor de um campo do subformulário, estando no formulário principal

    msgbox NomeDoModulo(me!NomeControleSubFormulário.form,"operadora")

    Se desejar um valor do controle formulário principal

    msgbox NomeDoModulo(me,"DataNascimento")

    Veja maiores detalhes, sobre referências, nestes meus dois artigos


    http://www.usandoaccess.com.br/tutoriais/tuto52.asp?id=1#inicio

    http://www.usandoaccess.com.br/tutoriais/tuto53.asp?id=1#inicio

    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    williamsl
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 24/09/2011

    [Resolvido]Referência a SubForm em um módulo Empty Re: [Resolvido]Referência a SubForm em um módulo

    Mensagem  williamsl 14/1/2013, 03:33

    Obrigado Criquio e Avelino, mas ainda não é isso.

    Vou tentar um exemplo prático:

    Tenho um formulário não acoplado e nesse formulário tem um subformulário.
    Carrego esse formulário através de uma listbox onde seleciono o registro que desejo abrir.
    Chamo um módulo para isso através da linha abaixo.

    Call CarregaRegistro("SELECT * FROM tblclientes WHERE CodigoDoCliente = Me.MinhaLista.Column(0);", Me.Form.Name)

    Código:
    Public Sub CarregaRegistro(txtSQL, MeuForm)

        Call AbrirConexao(txtSQL, "rst")      'Abre a conexão

        Dim FormAtualAberto As Form

        If Not (rst.BOF And rst.EOF) Then

            Set FormAtualAberto = Forms(MeuForm)
             
           
            For Each Controle In FormAtualAberto
         
                If TypeOf FormAtualAberto.Controls(Controle.Name) Is TextBox _
                  Or TypeOf FormAtualAberto.Controls(Controle.Name) Is OptionGroup _
                  Or TypeOf FormAtualAberto.Controls(Controle.Name) Is CheckBox _
                  Or TypeOf FormAtualAberto.Controls(Controle.Name) Is ComboBox Then
       
                    FormAtualAberto.Controls(Controle.Name) = rst(Controle.Name).value
                   
                End If
            Next
        End If

    End Sub

    O formulário carrega sem problemas, mas quando tento utilizar o mesmo procedimento para carregar o subformulário (a partir do formulário principal), dá erro na linha 'Set FormAtualAberto = Forms(MeuForm)'.

    Creio que tenha ficado mais claro o que pretendo.

    Grato.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    [Resolvido]Referência a SubForm em um módulo Empty Re: [Resolvido]Referência a SubForm em um módulo

    Mensagem  Avelino Sampaio 14/1/2013, 07:07

    Creio que vc não tenha prestado atenção no ultimo link que te passei.

    Código:
    Public Sub CarregaRegistro(txtSQL, frm as form)

        Call AbrirConexao(txtSQL, "rst")      'Abre a conexão

        If Not (rst.BOF And rst.EOF) Then

            For Each Controle In frm
         
                If TypeOf FormAtualAberto.Controls(Controle.Name) Is TextBox _
                  Or TypeOf FormAtualAberto.Controls(Controle.Name) Is OptionGroup _
                  Or TypeOf FormAtualAberto.Controls(Controle.Name) Is CheckBox _
                  Or TypeOf FormAtualAberto.Controls(Controle.Name) Is ComboBox Then
       
                    Frm.Controls(Controle.Name) = rst(Controle.Name).value
                   
                End If
            Next
        End If

    End Sub

    Para um formulário:

    Call CarregaRegistro("SELECT * FROM tblclientes WHERE CodigoDoCliente = Me.MinhaLista.Column(0);", Me)


    Para um subformulário:

    Call CarregaRegistro("SELECT * FROM tblclientes WHERE CodigoDoCliente = Me.MinhaLista.Column(0);", Me!NomeDoControleSubFormulário.form)


    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    williamsl
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 24/09/2011

    [Resolvido]Referência a SubForm em um módulo Empty Re: [Resolvido]Referência a SubForm em um módulo

    Mensagem  williamsl 15/1/2013, 00:24

    Valeu Avelino!

    Realmente não havia percebido a alteração feita no código. Resolvido.

    Um forte abraço.


    Última edição por williamsl em 15/1/2013, 04:44, editado 1 vez(es)
    GCONTABIL
    GCONTABIL
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 137
    Registrado : 17/12/2011

    [Resolvido]Referência a SubForm em um módulo Empty Re: [Resolvido]Referência a SubForm em um módulo

    Mensagem  GCONTABIL 15/1/2013, 03:43

    Favor marca com resolvido.
    avatar
    williamsl
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 24/09/2011

    [Resolvido]Referência a SubForm em um módulo Empty Re: [Resolvido]Referência a SubForm em um módulo

    Mensagem  williamsl 15/1/2013, 04:47

    Ok.

    Conteúdo patrocinado


    [Resolvido]Referência a SubForm em um módulo Empty Re: [Resolvido]Referência a SubForm em um módulo

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/11/2024, 14:00