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]Subform desvinculado Vba

    avatar
    jrvicc
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 11/02/2012

    [Resolvido]Subform desvinculado Vba Empty Subform desvinculado Vba

    Mensagem  jrvicc 14/9/2012, 01:33

    Olá pessoal, preciso de uma ajuda:

    Estou tentando criar uma função global para carregar subformularios desvinculados:

    No formulario frm_vd (Pai) na lstlista ao clicarmos em um registro de venda, é para trazer os produtos vendidos daquela venda no subform frm_vd_detalhe.

    Estou tentando fazer via codigo criar uma função global para atender qualquer formulario que tenha subformulario

    Olhe o codigo a seguir:


    no formulario : frm_vd que é O PAI

    Disparo no evento click da lista

    Private Sub lstLista_Click()
    Dim Sql as string
    Sql = "Select * from tab_vd_detalhe Where fk_vd_det = " & me.lstlista.column(0) ' aqui pega a chave da id_vd
    CarregaSubForm Sql, "frm_vd_detalhe"
    end sub

    No subformulario Filho frm_vd_detalhe que recebe o recordset através desta função

    Public Sub CarregaSubForm(Sql as string, MeuForm as String)
    Dim FormAberto as form
    call AbreConexao 'Aqui abro a conexao com o BD
    Call AbreRecordset(Sql) 'Abro o recordset pegando os registros através de minha Sql
    Set FormAberto = Forms(MeuForm) ' Aqui dá o erro: "o microsoft Access não pode localizar o formulario referenciado 'frm_vd_detalhe'"
    Set MeuForm.Recordset = Rs ' Aqui é para o formulario passado pela sub receber os registros através do recordset RS
    Call FechaConexao ' fecha a conexao
    Call FechaRecordSet ' Fecha o recordset
    end sub

    Então pelo que entendo, um formulario Pai é aberto embora o filho dele esteja no mesmo formulario, só que não é considerado aberto(filho), então por isso que ele não consegue passar a função minha que retorna uma selecção de registros
    Set MeuForm.Recordset = Rs conforme a sub acima

    Então Pergunto, como posso passar o recordset definido na sub para meu subformulario frm_vd_detalhe

    Obs.: Um detalhe Se eu fazer assim na função

    Public Sub CarregaSubForm(Sql as string)
    Dim FormAberto as form
    call AbreConexao 'Aqui abro a conexao com o BD
    Call AbreRecordset(Sql) 'Abro o recordset pegando os registros através de minha Sql
    'Set FormAberto = Forms(MeuForm)
    'Set MeuForm.Recordset = Rs

    Set Form_frm_vd.frm_vd_detalhe.Form.Recordset = Rs
    Call FechaConexao ' fecha a conexao
    Call FechaRecordSet ' Fecha o recordset
    end sub

    Funciona perfeito, porem perde a função que é para funcionar com quaisquer subformularios

    Pessoal, se alguem sabe como posso passar para o subformulario o recordset?




    Aqui as funções como exemplo que estou usando estão no Modulo Global

    Private Cn As New ADODB.Connection
    Private Rs As New ADODB.Recordset

    Public Sub CarregaSubForm(Sql as string, MeuForm as String)
    Dim FormAberto as form
    call AbreConexao 'Aqui abro a conexao com o BD
    Call AbreRecordset(Sql)
    Set FormAberto = Forms(MeuForm)
    Set MeuForm.Recordset = Rs
    Call FechaConexao
    Call FechaRecordSet
    end sub

    Private Sub AbreConexao()
    Dim LocalBD As String
    Dim StrConexao As String
    LocalBD = CurrentProject.Path & "\" & NomeBanco
    StrConexao = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & LocalBD & ";Jet OLEDB:Database Password=" & PW
    Cn.Open StrConexao
    End Sub

    Private Sub SelecionaRegistros(Ssql As String)
    Rs.CursorType = adOpenKeyset
    Rs.CursorLocation = adUseClient
    Rs.LockType = adLockOptimistic
    Rs.Open Ssql, Cn
    End Sub

    Private Sub FechaRecordset()
    Set Rs = Nothing
    End Sub
    Private Sub FechaConexao()
    Set Cn = Nothing
    End Sub
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Subform desvinculado Vba Empty Re: [Resolvido]Subform desvinculado Vba

    Mensagem  Alexandre Neves 14/9/2012, 09:08

    Bom dia, jr
    tente
    Public Sub CarregaSubForm(Sql as string, MeuForm as Form)
    ...
    Set FormAberto = MeuForm


    .................................................................................
    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
    avatar
    jrvicc
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 11/02/2012

    [Resolvido]Subform desvinculado Vba Empty Re: [Resolvido]Subform desvinculado Vba

    Mensagem  jrvicc 14/9/2012, 14:08

    Bom dia! ALexandre, obrigado pela sua atenção

    Então, já tentei isso usar MeuForm como Form na sub.

    Pelo que percebi não adianta referenciar o subform, pois ele não está aberto então dá erro de porque o vba nao consegue referenciar ele por nao estar aberto, pois ele faz parte de um Form Pai, então preciso que referencie o subform.

    Alguem mais tem uma ideia???


    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Subform desvinculado Vba Empty Re: [Resolvido]Subform desvinculado Vba

    Mensagem  Alexandre Neves 14/9/2012, 14:27

    Se não estiver aberto, penso não ser possível referenciar
    Terá de dar a volta de outra forma


    .................................................................................
    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
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Subform desvinculado Vba Empty Re: [Resolvido]Subform desvinculado Vba

    Mensagem  Alexandre Neves 26/1/2013, 23:10

    Como não houve retorno, o assunto passa a resolvido.


    .................................................................................
    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

    Conteúdo patrocinado


    [Resolvido]Subform desvinculado Vba Empty Re: [Resolvido]Subform desvinculado Vba

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 1/11/2024, 07:24