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]Formulário Com três tabelas.

    avatar
    matheuspn
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 23/06/2010

    [Resolvido]Formulário Com três tabelas. Empty Formulário Com três tabelas.

    Mensagem  matheuspn 21/6/2013, 14:25

    Bom dia a todos!

    Tenho no meu banco a seguinte estrutura.

    -> Um formulário de cadastros de clientes
    -> Três subformulários de cadastro de estrutura de produto (Tampo, Cuba, Rodapé).

    Os subformulários são acionados por um botão e abrem em uma nova janela.

    Gostaria de criar outro subformulário do tipo tabela dentro do formulário clientes para que quando a janela de cadastro fosse fechada alguns campos do item cadastrado fosse visualizado dentro do formulário cliente.

    exemplo: se eu cadastrar uma cuba, e depois cadastrar um rodapé gostaria que os dois estivessem no mesmo sub-formulário (tipo tabela), um em baixo do outro.

    Tentei fazer uma consulta misturando os 3 subformulários porem não obtive sucesso.


    Desde já Agradeço.
    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]Formulário Com três tabelas. Empty Re: [Resolvido]Formulário Com três tabelas.

    Mensagem  criquio 21/6/2013, 17:21

    Se as tabelas estiverem devidamente estruturadas e relacionadas, basta adicionar o subformulário buscando a tabela como origem. E para atualizar esse subformulário ao fechar um outro, basta colocar no evento "Ao sair" desse outro:

    Forms!NomeDoFormulário!NomeDoControleSubForm.Form.SourceObject = "NomeDoSubFormulário"

    Aonde está "NomeDoControleSubForm", é o nome do controle que carrega esse subformulário dentro do formulário principal e aonde está "NomeDoSubFormulário" é o nome do formulário que está sendo carregado dentro desse controle anteriormente mencionado.


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 23/06/2010

    [Resolvido]Formulário Com três tabelas. Empty Re: [Resolvido]Formulário Com três tabelas.

    Mensagem  matheuspn 21/6/2013, 18:10

    Olá, obrigado pela resposta.

    Onde você diz "basta adicionar o subformulário buscando a tabela como origem", é exatamente ai que está meu problema.

    queria que dados de três tabelas estivessem no subformulário, porem de forma alternada.

    Exemplo: Quando eu insiro um novo Tampo é criada cria uma linha com esses dados no subformulário. Se depois eu inserir uma Cuba quero que no mesmo subformulário abaixo do tampo seja criada uma nova linha com os dados da Cuba.

    A questão de atualizar ao sair ficou bom.

    Obrigado!
    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]Formulário Com três tabelas. Empty Re: [Resolvido]Formulário Com três tabelas.

    Mensagem  criquio 21/6/2013, 18:24

    Você quer misturar linhas de mais de uma tabela em um único subformulário? Ou mudar a origem do subformulário para outra tabela? A segunda hipótese pode ser feita, mas a primeira já complica porque um subformulário só pode ter uma origem por vez.


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 23/06/2010

    [Resolvido]Formulário Com três tabelas. Empty Re: [Resolvido]Formulário Com três tabelas.

    Mensagem  matheuspn 21/6/2013, 19:01

    Seria a primeira opção. Existe alguma possibilidade?

    Pensei em algo como uma consulta com as três mas não deu certo.
    avatar
    matheuspn
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 23/06/2010

    [Resolvido]Formulário Com três tabelas. Empty Re: [Resolvido]Formulário Com três tabelas.

    Mensagem  matheuspn 27/6/2013, 13:44

    Olá criquio,

    Pensei em outra possibilidade mas também não sei se é possível.

    Se eu colocasse os três subformulários um abaixo do outro seria possível a medida que os dados fossem sendo inseridos ele fosse expandindo?

    Sei que é possível em relatórios. Mas em formulários não sei.
    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]Formulário Com três tabelas. Empty Re: [Resolvido]Formulário Com três tabelas.

    Mensagem  criquio 27/6/2013, 15:15

    Você pode utilizar a quantidade de registros para ajustar a altura do subformulário e depois utilizar a posição + altura de cada subformulário para posicionar o subformulário de baixo em relação ao de cima:

    Dim rs1 As Recordset, rs2 As Recordset, rs3 As Recordset

    Set rs1 = Me.NomeSubForm1.Form.RecordsetClone
    Set rs2 = Me.NomeSubForm2.Form.RecordsetClone
    Set rs3 = Me.NomeSubForm3.Form.RecordsetClone

    Me.SubForm1.Height = rs1.RecordCount * 300
    Me.SubForm2.Height = rs2.RecordCount * 300
    Me.SubForm3.Height = rs3.RecordCount * 300

    Me.SubForm2.Top = Me.SubForm1.Top + Me.SubForm1.Height
    Me.SubForm3.Top = Me.SubForm2.Top + Me.SubForm2.Height

    rs1.Close
    Set rs1 = Nothing

    rs2.Close
    Set rs2 = Nothing

    rs3.Close
    Set rs3 = Nothing

    Se necessário, condicione a ampliar a altura deles apenas até atingir uma certa quantidade de linhas e então fixar essa altura máxima. Nesse caso, como pode ser que tenha números diferentes de registros em cada subform, podes somar a quantidade de registros dos três e multiplicar pelos 300 ou outro valor que melhor atender para definir essa como a altura máxima.


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 23/06/2010

    [Resolvido]Formulário Com três tabelas. Empty Re: [Resolvido]Formulário Com três tabelas.

    Mensagem  matheuspn 27/6/2013, 20:33

    Olá criquio,

    Não funcionou. provavelmente fiz algo errado.

    Tentei no evento ao atualizar do formulário principal. Porém não alterava.

    Depois tentei através de um botão no comando ao clickar. Neste caso quando o subformulario não tinha valor ele reduzia o tamanho a zero, porém ao adicionar e clickar novamente o tamanho continuava zerado.
    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]Formulário Com três tabelas. Empty Re: [Resolvido]Formulário Com três tabelas.

    Mensagem  criquio 27/6/2013, 21:18

    Só vendo para ter ideia. Veja se esse exemplo ajuda. Ele usa o mesmo esquema, com um código mais curto que inclui o RecordetClone direto no Form do subformulário, não precisando, assim, declarar as variáveis. Nesse caso, seu código ficaria assim:

    Me.SubForm1.Height = Me.SubForm1.Form.RecordCount * 300
    Me.SubForm2.Height = Me.SubForm2.Form.RecordCount * 300
    Me.SubForm3.Height = Me.SubForm3.Form.RecordCount * 300

    Me.SubForm2.Top = Me.SubForm1.Top + Me.SubForm1.Height
    Me.SubForm3.Top = Me.SubForm2.Top + Me.SubForm2.Height


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 23/06/2010

    [Resolvido]Formulário Com três tabelas. Empty Re: [Resolvido]Formulário Com três tabelas.

    Mensagem  matheuspn 1/7/2013, 17:50

    Olá criquio.

    Pelo que percebi no seu exemplo, o subformulário tem um tamanho padrão.

    Eu precisava que o subformulário fosse se auto ajustando ao número de registros dele, para que nunca aparecesse a barra de rolagem vertical.

    Obrigado!
    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]Formulário Com três tabelas. Empty Re: [Resolvido]Formulário Com três tabelas.

    Mensagem  criquio 1/7/2013, 18:13

    Para isso você pode usar a forma que passei no post anterior. É só adaptar uma coisa na outra.


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 23/06/2010

    [Resolvido]Formulário Com três tabelas. Empty Re: [Resolvido]Formulário Com três tabelas.

    Mensagem  matheuspn 3/7/2013, 18:23

    Olá criquio, acabei percebendo que as três tabelas têm o mesmo campo, adicionei um campo para identificar o tipo de produto e transformei tudo em uma tabela, dessa forma ficou mais fácil de trabalhar.

    Conteúdo patrocinado


    [Resolvido]Formulário Com três tabelas. Empty Re: [Resolvido]Formulário Com três tabelas.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/4/2024, 12:08