Formulários Relacionados
Basicamente, um formulário relacionado é um formulário dentro de outro formulário.
Como criar um formulário relacionado?
Para criar um formulário relacionado, você deve criar um formulário comum, como qualquer outro. Além disso é necessário adicionar dois componentes adicionais:
- Ativar a opção de relacionamento com outros formulários:
Na definição básica do formulário, deve-se ativar a opção "Pode ser usado como tabela filha de um outro formulário (Tabela de Formulário Relacionado)". A opção "Abrir apenas através de um formulário pai", inibe que esse formulário seja aberto da maneira convencional, permitindo apenas que ele seja aberto através de outro formulário.
- Criar um campo de relacionamento com o formulário Pai:
Isso é fundamental para exista a relação entre os dois formulários. Para isso, é necessário criar um campo de autocompletar ou lista de seleção, com uma fonte dinâmica de dados, usando o formulário pai como fonte. Feito isso, escolhe-se um campo para que seja mostrado (de preferência o campo com maior importância desse formulário) e marca-se as seguintes duas opções:
- Esse campo pode ser Relacionado a um formulário Pai e preenchido automaticamente pelo ID (Primary Key) do formulário pai: essa opção deve ser marcada, para que o sistema automaticamente preencha essa opção. como esse formulário, vai ser aberto através do formulário pai, o preenchimento fica sendo automático e transparente para o usuário.
- Esconder campo quando o formulário for aberto através do formulário pai (opcional): como esse campo vai ser preenchido automaticamente pelo formulário, podemos ocultar quando o formulário for aberto pelo formulário pai.
- Esse campo pode ser Relacionado a um formulário Pai e preenchido automaticamente pelo ID (Primary Key) do formulário pai: essa opção deve ser marcada, para que o sistema automaticamente preencha essa opção. como esse formulário, vai ser aberto através do formulário pai, o preenchimento fica sendo automático e transparente para o usuário.
No exemplo abaixo, temos um formulário chamado Clientes, que é um cadastro de pessoas jurídicas. Para cada cadastro, queremos incluir N contatos com nomes de pessoas físicas que trabalham nessa empresa.
Para fazer isso, criamos um formulário chamado Contatos. Nas definições básicas desse formulário, marcamos a opção "Pode ser usado como tabela filha de um outro formulário (Tabela de Formulário Relacionado)". Além dos campos necessários para o cadastro dos contatos, criamos um campo chamado Relacionamento_Clientes, que é o campo que vai se relacionar com o formulário Clientes (formulário Pai). A configuração desse campo fica assim:
Quando o formulário filho está configurado dessa forma, ele fica disponível para ser adicionado no formulário pai:
O uso é transparente para o usuário, não percebendo essa amarração entre os formulários.
Abaixo, as demais configurações de um formulário relacionado:
Grupo de informações
Dentro das configurações, é possível alterar o grupo de informação ao qual o campo foi atribuído no momento da criação.
Nome de Apresentação
Mostra o nome de apresentação informado no momento da criação. Esse é o nome que será mostrado na tela para o usuário.
Ordenação manual organizada pelo próprio usuário através de Arrastar e Soltar (Drag and Drop)
Permite ao usuário, ordenar as entradas do formulário relacionado.
Customização da Lista
Essas opções, permitem configurar aspectos da lista do formulário relacionado que serão exibidos
Coluna Visível
Caso não seja necessário, uma ou mais colunas podem ser ocultadas da visualização dentro do formulário pai. Isso ajuda na organização dos dados que são mostrados na tela.
Prefixo
Adiciona um texto opcional antes do conteúdo do campo.
Sufixo
Adicional um texto opcional após o conteúdo do campo.
Informação no Rodapé
No rodapé, é possível exibir uma informação extra, baseada nos campos numéricos do formulário relacionado. São elas:
- Soma da Coluna
Faz a soma de todos os valores dessa coluna e exibe o total. - Média da Coluna
Faz a média de todos os valores dessa coluna e exibe o resultado.
Caso uma dessas opções seja selecionada, é preciso selecionar uma máscara para o rodapé.
- Moeda (Real)
- Decimal (1 casa decimal)
- Decimal (2 casas decimais)
- Decimal (3 casas decimais)
- Decimal (4 casas decimais)
- Decimal (5 casas decimais)
Lista do formulário que podem ser apresentadas como Sub Lista
Caso o formulário relacionado, contenha outro formulário relacionado, essas opções serão apresentadas.
Já abrir com as Sub Lista expandidas
O formulário relacionado que pertence a esse, será apresentado com a lista expandida. Essa configuração dá a opção do usuário definir o comportamento padrão. Isso é útil, caso hajam muitos dados, e nem todos precisam estar visíveis no primeiro momento, deixando a leitura do formulário mais simples.
Sub Lista visível
Aqui o usuário seleciona quais formulários relacionados devem estar visíveis.
Apresentar nessa tabela de dados apenas os dados que foram cadastrados através desse campo da tela
Essa opção permite ao usuário mostrar apenas os dados cadastrados através do formulário pai, e não os registros cadastrados pelo formulário filho, mesmo que quando feito, tenha sido colocado o relacionamento com algum registro do formulário pai.