Inserir um Subformulário

Um subformulário é um processo bastante interessante (e em alguns casos, absolutamente necessário) de visualizar a informação contida em várias tabelas. Como já referimos, um subformulário está sempre contido no interior de um formulário principal ( main form). Em ambos existe sempre uma relação, que tem por base a existência de um campo comum.

No nosso exemplo, pretende-se que no formulário "Ficha Cliente" esteja inserido um subformulário, de modo a que, para cada empresa cliente, sejam visualizados os vários Serviços Facturados.

O subformulário é um formulário perfeitamente igual a qualquer outro, que se apoia nos dados de um determinado objecto. Neste exemplo, o subformulário terá por base a tabela "Serviços Facturados".

A partir do momento em que o subformulário estiver criado, não irão ser inseridos mais registos directamente na tabela, mas apenas através desse novo objecto (subformulário).

O campo de ligação entre os dois formulários será o "Nº de Cliente", que, como pode verificar na tabela "Serviços Facturados", é do tipo Número { Number}.

Recordando as relações entre tabelas, como iremos relacionar um campo Numeração automática { AutoNumber } com um campo do tipo Número { Number } (respectivamente das tabelas "Clientes" e "Serviços Facturados"), é necessário que a propriedade Tamanho do campo (Field Size} do campo Number ( Numero} seja Número Inteiro Longo { Long Integer}.

Etapas:

  1. Através do Formulário Automático ou do Assistente de Formulário, criar um formulário muito simples (quanto à sua apresentação), com base na tabela Serviços Facturados, que será utilizado como subformulário:
    1. Pode Eliminar-se o campo "Nº de Cliente", pois ele já existe no formulário principal.
    2. No canto superior esquerdo da zona de criação do formulário faça um clique no símbolo com imagem quadrado, para seleccionar o objecto formulário.
    3. Aceda à caixa de propriedades (do formulário) e altere a opção Vista predefinida {Default View } para folha de dados (para o subformulário ser visualizado dentro do formulário com um aspecto tabular)
    4. Grave a sua estrutura com o nome "Ficha de serviço Facturado (Subformulário)"
  1. Abrir o formulário "Ficha Cliente" em modo Vista de estrutura. Se necessário, proceda à organização dos controlos a nível da sua posição e dimensão, de forma a obter espaço para inserir o subformulário.
  2. Activar a caixa de ferramentas, seleccionando a ferramenta subformulário; pode verificar que a ferramenta está activa, pois ao deslocar o rato no formulário, o seu apontador está transformado no símbolo respectivo.
  3. Fixar o apontador do rato na zona onde pretende o canto superior esquerdo do subformulário e arrastar até atingir a dimensão que deseja
  4. Ao largar o botão do rato, e de imediato activado o Assistente de Subformulário, desde que a ferramenta Assistente de Controlos da caixa de ferramentas esteja activa. Na primeira caixa de diálogo, deverá indicar que vai utilizar um formulário já existente. como objecto subformulário
  5.  

    SeleccaoFormularioFichaServicoFacturado.jpg (21269 bytes)

    Fig. 1.8.10 - Selecção do Formulário "Ficha de serviço Facturado" para Subformulário

  6. Em seguida, o próprio Access irá questionar qual o campo de ligação entre formulário e subformulário: se existirem campos comuns possíveis de relacionar, será feita essa sugestão:
  7.  

    SeleccaoFormularioLigacaoReconhecidaAccess.jpg (21915 bytes)

    Fig. 2.8.10 - Seleccionar ligação Reconhecida pelo Access

  8. Por fim, bastará indicar o nome do subformulário e terminar:

 TerminarAssistenteSubformulario.jpg (22858 bytes)

Fig. 3.8.10 - Terminar Assistente do Subformulário

Ao activar o formulário, basta verificar se o seu funcionamento está correcto.Teste o funcionamento do subformulário, inserindo alguns registos de "Serviços Facturados" em diferentes "Clientes".

Se tiver algum problema na ligação (Link) formulário-subformulário, será aconselhável seleccionar o objecto Subformulário com apenas um clique do rato e verificar as propriedades Objecto de origem {Source Object} e Ligar campos incorporados/principais {Link Child/Master Fields }

Inserir um Grupo de OpçõesAnterior | SeguinteAlteracão do Tipo de um Controlo