É possível associar às colunas de um list box os campos da tabela principal e/ou de diferentes tabelas. Para maiores informações sobre a tabela principal, consulte o parágrafo Propriedades específicas dos list Box.
Entretanto, em todos os casos, o conteúdo do list box estará baseado na seleção atual (ou uma seleção temporal) da tabela principal do list box:
- Se você utilizar unicamente campos da tabela principal, o conteúdo das linhas do list box será simplesmente modelado sobre os da seleção da tabela principal.
- Se você utilizar campos que não pertençam à tabela principal, estas tabelas “estrangeiras” devem relacionar-se com a tabela principal por uma relação Muitos para Um, ou do contrário os campos “estrangeiros” serão mostrados vazios. As relações automáticas serão ativadas para cada registro da seleção da tabela principal e o list box mostrará os dados correspondentes nos campos relacionados.
Se você utilizar relações manuais, deverá programar a ativação das relações com o fim de mostrar os dados no list box.
Se uma inconsistência na definição do list box provocar a visualização das colunas vazias, aparecerá uma mensagem de erro em modo Aplicação em cada coluna incorreta.
Utilizaremos um exemplo para explicar os diferentes casos.
Dado um banco de dados com duas tabelas: [Empresas] e [Empregados].
- A seleção atual da tabela [Empresas] é a seguinte:
Nome |
Enciclopédia internacional |
Aventuras e viagens |
Viajar S.A. |
- A seleção atual da tabela [Empregados] é a seguinte::
Nome | Sobrenome | Empresa |
Carla | Packard | Boring Travel Company |
Andrew | Black | Tiny Computers |
Vincent | Laughter | Boring Travel Company |
Oliver | Dawson | Boring Travel Company |
Sylvia | Fairview | Tiny Computers |
Robert | Lanzel | Big Encyclopedias |
Arnold | Schmitt | Boring Travel Company |
Elizabeth | Jones | Big Encyclopedias |
Yolanda | Court | Tiny Computers |
Pascal | Pratt | Tiny Computers |
O campo [Empresas]Nome está associado à primeira coluna de um list box. Os campos [Empregados]Nome e [Empregados]Sobrenome estão associados às duas colunas seguintes. A fonte de dados do list box é a seleção atual.
- Caso 1: as duas tabelas estão relacionadas por uma relação automática
1) A tabela principal do list box é [Empregados]. O list box mostra a seleção atual da tabela [Empregados] e ativa a relação automática a fim de mostrar o nome da empresa para cada empregado:
2) A tabela principal escolhida para o list box é [Empresas]. O list box mostra a seleção atual da tabela [Empresas]. Como só existem três registros nesta seleção, só são mostradas três linhas no list box. As colunas dos campos [Empregados]Nome e [Empregados]Sobrenome estão vazias:
- Caso 2: as duas tabelas não estão relacionadas (ou estão relacionadas utilizando uma relação manual)
1) A tabela principal do list box é [Empregados]. O list box mostra a seleção atual da tabela [Empregados]. A coluna do campo [Empresa]Nome está vazia:
2) A tabela principal ecolhida para o list box é [Empresas]. O list box mostra a seleção atual da tabela [Empresas]. Como só há três registros nesta seleção, só são mostradas três linhas no list box. As colunas dos campos [Empregados]Nome e [Empregados]Sobrenome estão vazias:
Naturalmente, é possível administrar por programação as seleções das diferentes tabelas e desta forma mostrar as colunas associadas aos campos que não pertenecem à tabela principal.