Tutorial: Atualizando relações Muitos-para-muitos através de CheckBox List

Neste exemplo criaremos uma aplicação que atualiza tabelas de um relacionamento de muitos para muitos usando objecto checkbox observe na imagem abaixo. Ela descreve uma aplicação de formulário que utiliza simultaneamente três tabelas de um relacionamento N-N em um banco de dados.


1. O campo checkbox do formulário será alimentado pela tabela Project.

2. Os dados do formulário serão gravados em duas tabelas: Employees e EmployeeProjects.

Os dados referentes a empregados serão gravados na tabela Employees e os dados selecionados no checkbox serão gravados na tabela EmployeeProjects (EmployeeID,ProjectID).

Criando o formulário de Employees.

1. Crie uma nova aplicação de formulário baseada na tabela employees.

2. Na propriedade Table Width informe o valor 350 e na propriedade Table Width Unit selecione Pixel.


3. No menu de aplicação clique no item Select Fields e remova todos os campos exceto FirstName.


4. Atribuiremos agora valor a um campo que está fora da exibição do formulário. No menu de aplicação clique no item Attribute Values


5. No campo EmployeeID selecione a opção Auto increment (Automatic).


6. No menu de aplicação acesse a pasta Layout e clique no item Blocks.


7. Altere as seguintes propriedades do bloco existente:

Propriedade Valor
Block Label Add/Edit Employees
Title Display Habilitado
Label Position Beside

Criando relacionamento Many-to-Many

8. No menu de aplicação acesse a pasta Many-to-Many Relations e clique no item New Relation


9. Iniciando o wizard de criação do Relation Field . Na propriedade Field informe projects, para Data Type escolha Integer e no Label informe Projects. Clique no botão Next.


10. Clique sobre a opção Choose Table e escolha a tabela project e em seguida clique no botão Next.

11. Verifique o comando SQL gerado, se necessário você pode modifica-lo. Para continuar clique no botão Next.

12. Na propriedade Object selecione a opção Checkbox. Altere também a propriedade Columns para 1.


Após selecionar Checkbox será habilitada a opção Mark and Unmark All

13. Selecionando a tabela de relacionamento. Na propriedade Table name escolha employeeprojects.

14. Relacionando os campos das tabelas employees e employeeprojects. Para o campo EmployeeID selecione EmployeeID e para o campo Value escolha Auto Increment.


Definimos o campo Value como Auto Increment para que não seja passado nenhum valor para este campo na tabela employeeprojects.

15. Nesta etapa será relacionado o campo Foreign Key. Selecione o campo ProjectID e clique em Next.

16. Configuração da Visualização. Altere a propriedade Vertical Alignment para Top. e clique no botão Next.


17. Clique no botão Finish para terminar o Wizard.

18. Na barra de ferramentas do ScriptCase click no botão Generate Source.


Criando a consulta de Employees

19. Crie uma nova aplicação de consulta baseada na tabela employees.

20. Na propriedade Table Width informe o valor 600 e na propriedade Table Width Unit selecione Pixel.


21. No menu de aplicação clique no item Select Fields e remova todos os campos exceto EmployeeID e FirstName.


Fazendo uma ligação entre a consulta e o formulário

22. No menu de aplicação acesse a pasta Link e clique no item New Link.


23. Clique no botão Create New Link para iniciar o wizard de ligação.

24. Selecione a ligação de Application e clique no botão Next.

25. Selecione o formulário de employees criado nas etapas anteriores e clique em Next.

26. Passagem de paramentros. Atribua ao campo EmployeeID do formulário ao campo EmployeeID da consulta.


27. Propriedades da ligação. Altere as propriedades de acordo com a tabela abaixo, e clique no botão Save para finalizar o wizard.

Propriedade Valor
Display the New Button in the grid Open in iframe
Iframe position relative to the main application Right
Iframe width 360

Tutoriais na mesma categoria

Formulário com campos especiais

Neste exemplo, vamos mostrar como configurar alguns campos especiais no Scriptcase, na aplicação f...

Mestre-Detalhe (Único-para-Único)

Neste exemplo será desenvolvido uma aplicação Mestre/Detalhe completa, onde obteremos um formu...

Geração de PDF em Formulários

Neste exemplo veremos como configurar a aplicação de formulário para exibir o botão de impres...

Formulário com Responsividade Mobile

As aplicações agora têm adaptação à ambientes mobile, sendo assim, o usuário pode acessar ...

Comente este post