Avaliação do Usuário

Estrela ativaEstrela ativaEstrela ativaEstrela ativaEstrela inativa
 

 

Frequentemente vemos, nos diversos fóruns e outros sites sobre programação, colegas quebrando a cabeça para aprender as manhas e dominar a arte de relacionar registros, transportando-os entre caixas de listagem.

É bonito e prático criar relações entre itens, selecionando-os em uma caixa de listagem e enviando-os para outra. Desfazer a relação apenas selecionando os itens e movendo-os de volta para a caixa de origem também é muito bacana. Além disso ordenar itens selecionando-os e utilizando os botões “para cima” e “para baixo” deixa tudo parecendo sopinha de neném.

Mas aí vem a questão que, principalmente para os iniciantes, representa a pedra no sapato. Como fazer?

A utilização das caixas de listagem é muito simples, porém sua implementação requer boa base de conhecimento em lógica e algoritmo, o que a princípio parece ser coisa de outro planeta.

Neste artigo o objetivo é demonstrar como criar um  esquema de classificação musical utilizando as caixas de listagem. Nada complexo. A idéia é associar as músicas com o respectivos artistas, além de ordená-las, deixando as melhores em primeiro lugar.

Como a idéia por trás do exemplo é bem simples e com certeza ninguém terá dificuldade em compreender o que o sistema deve ser capaz de fazer, poderemos nos preocupar somente com a implementação.

O MODELO DE DADOS

Para implementar nosso pequeno projeto vamos utilizar apenas duas tabelas, uma para cadastrar os artistas e outra para cadastrar os seus sucessos musicais, permitindo assim a futura relação entre os dois.

Tabelas

Artista

  • nomeArtista – Texto – 50 caracteres – Chave primária

 

SucessoMusical

  • codMusica – Auto Numeração – Chave primária
  • nomeMusica – Texto – 50 caracteres
  • ordem – Número – Inteiro
  • artista – Texto – Chave estrangeira (nomeArtista/Artista)
  • Veja a representação do modelo de dados proposto:

Relacionamentos das tabelas do BD Caixa de Listagem


PREPARANDO O FORMULÁRIO

Para trabalharmos com os dados utilizando as caixas de listagem precisaremos de um formulário contendo todos os objetos necessários. Sendo assim crie um formulário com as seguintes características:

Nome: FClassificacaoMusical
Altura: 13cm
Largura: 20cm
Seletores de Registro: Não
Linhas Divisórias: Não
Botões de Navegação: Não
Barras de Rolagem: Nenhuma
Popup: Sim

O nosso formulário também deverá contar com os objetos que darão vida ao mesmo. Para isso inclua os seguintes itens, com suas respectivas características:

Caixas de Listagem

As nossas caixas de listagem são os principais objetos a serem incorporados na aplicação. O conteúdo de cada uma delas tem origem em consultas baseadas na tabela SucessoMusical, sendo que uma exibirá as músicas não associadas e a outra as músicas já associadas. Além disso a segunda caixa de listagem permitirá a ordenação dos sucessos musicais.

Veja quais as principais características de cada uma delas:

Nome: lstMusica
Origem da Linha: SELECT SucessoMusical.codMusica, SucessoMusical.nomeMusica FROM SucessoMusical WHERE (((SucessoMusical.artista) Is Null));
Tipo de Origem da Linha: Tabela/Consulta
Número de Colunas: 2
Largura das Colunas: 0cm;7cm
Seleções Múltiplas: Estendida

Nome: lstOrdemMusica
Origem da Linha: SELECT SucessoMusical.codMusica, SucessoMusical.ordem, SucessoMusical.nomeMusica FROM SucessoMusical WHERE (((SucessoMusical.artista)=[Formulários]![FClassificacaoMusical]![cbxArtista])) ORDER BY SucessoMusical.ordem;
Tipo de Origem da Linha: Tabela/Consulta
Número de Colunas: 3
Largura das Colunas: 0cm;1cm;4cm
Seleções Múltiplas: Simples

Caixa de Combinação

Nome: cbxArtista
Origem da Linha: Artista
Tipo de Origem da Linha: Tabela/Consulta

Grupo de Opção

Nome: gpoMusica
Valor Padrão: 2

Botões de Opção (dentro do Grupo de Opção)

Nome: btoTodas
Valor de Opção: 1

Nome: btoNaoClassificadas
Valor de Opção: 2

Caixas de Texto

txtIncluirMusica
txtIncluirArtista

Botões

btnOrdemAcima
btnOrdemAbaixo
btnIncluir
btnExcluir
btnIncluirMusica
btnIncluirArtista 

Rótulos

lblClassificacao
lblArtista
lblMusica
lblOrdemMusica
lblIncluirMusica
lblIncluirArtista 

Foram listadas apenas as propriedades mais importantes, com as configurações que mais interessam. Faça os demais ajustes para que tudo fique de acordo.

Seja social. Compartilhe!