Você pode usar uma tabela para criar um subformulário — um formulário dentro de um formulário. O subformulário contém dados relevantes para os dados no formulário principal.
Um subformulário é um formulário que está aninhado dentro de outro formulário. Geralmente contém dados associados ao registro que está aberto no formulário principal.
Por exemplo, você pode ter um formulário que exiba um pedido e um subformulário que exiba cada item do pedido.
Ou você pode ter um formulário que exiba um país, com um subformulário que exiba cada cidade desse país.
Abaixo está um guia passo a passo para criar um formulário e um subformulário a partir de uma tabela.
-
Criar um novo formulário
No painel de navegação esquerdo, selecione a tabela para basear seu formulário/subformulário e selecione Formulário da Faixa de Opções (no Criar aba).
Para que isso funcione, a tabela selecionada deve ser a parte "um" de um relacionamento um-para-muitos.
Veja abaixo mais informações.
-
O formulário e o subformulário
O formulário e seu subformulário são criados instantaneamente e exibidos no Layout View.
O subformulário aparece no modo folha de dados nos outros campos do formulário principal.
Um olhar mais atento ao subformulário
Vamos ver como o subformulário aparece nas várias visualizações, bem como como ele obtém seus dados.
-
Visualização de formulário
Alterne para o modo de exibição de formulário (clicando no ícone do modo de exibição de formulário no canto inferior direito do Access).
Navegue pelo formulário principal clicando em Próximo registro ícone na parte inferior do formulário.
Conforme você navega pelos registros, o conteúdo do subformulário será atualizado apenas para os registros associados ao formulário pai.
-
Visualização do projeto
Alterne para o Modo Design (clicando no ícone Modo Design no canto inferior direito do Access).
O subformulário aparece como uma caixa, com sua fonte de dados exibida. Neste exemplo, a fonte de dados é Table.Albums (ou seja, os Álbuns tabela).
Você pode usar o Design View para personalizar o subformulário. Por exemplo, você pode abrir a Folha de Propriedades (clicando em Folha de Propriedades no Design guia da Faixa de Opções) e ajuste as várias propriedades conforme necessário.
-
A fonte do subformulário
Clicando em Dados guia da Folha de Propriedades revelará a origem do subformulário, bem como o campo que vincula o subformulário ao formulário pai.
O Objeto de Origem A propriedade determina qual objeto é exibido no controle.
Os Campos filho de link especifica qual campo ou campos no subformulário vinculam o subformulário ao formulário pai.
Os Campos Mestres de Link especifica qual campo ou campos no formulário pai vinculam o formulário pai ao subformulário.
Como funciona
Criar um subformulário como esse só funciona se essa tabela fizer parte de um relacionamento. O Access vê que há um relacionamento, então ele cria o subformulário automaticamente.
Mais especificamente, a tabela deve ser a parte "um" de um relacionamento um-para-muitos.
Se você criar um formulário da tabela "muitos", não receberá um subformulário. O formulário será um formulário simples baseado na tabela selecionada.
Se você criar um formulário a partir de uma tabela que não faz parte de um relacionamento, não há necessidade de um subformulário (já que não há dados relacionados em outra tabela).
Às vezes, um subformulário é chamado de formulário um para muitos, pois exibirá a parte "muitos" de um relacionamento um para muitos (com o formulário pai exibindo a parte "um").
Os subformulários também são frequentemente chamados de subfolhas de dados.
Uma combinação de formulário/subformulário às vezes é chamada de formulário hierárquico, formulário mestre/detalhe ou formulário pai/filho.
Subformulários vs... Subformulários
Se você criar um subformulário usando o Assistente de Subformulário, provavelmente terminará com dois formulários; o formulário principal e o subformulário. Ambos os formulários serão salvos em Formulários nó no Painel de Navegação.
Ao criar um subformulário a partir de uma tabela (como no exemplo acima), você não receberá o formulário extra. Isso ocorre porque o controle de subformulário/sub-relatório está exibindo dados diretamente da tabela.
Então, tecnicamente, pode-se argumentar se isso é realmente um subformulário ou apenas uma subfolha de dados. De qualquer forma, ele exibe o mesmo resultado para o usuário.
Se você não quiser exibir todos os campos da tabela, poderá usar uma consulta como objeto de origem ou criar um subformulário usando o Assistente de Subformulário.
Não precisa de um subformulário?
Conforme mencionado, o Access está tentando ser útil ao criar o subformulário automaticamente para você.
No entanto, se você não precisar do subformulário, basta excluí-lo. Basta alternar para Layout View ou Design View, clicar com o botão direito do mouse no subformulário e selecionar Excluir a partir do menu contextual.
Adicionar um subformulário a um formulário existente
Se você já tiver um formulário ao qual deseja adicionar um subformulário, poderá adicionar um subformulário ao formulário existente adicionando um controle de subformulário.