Beruflich Dokumente
Kultur Dokumente
Para se criar Combobox/Listbox dependentes é preciso que haja um campo comum entre as mesmas. Como exemplo, observe na
figura abaixo, o relacionamento entre as tabelas tblEstados e tblCidades, em que o campo comum é o idEstado. Este campo, que é do
tipo numeração automática, identifica de forma exclusiva, o Estado cadastrado. Na tabela tblCidades, o campo idEstado permite
identificar quais cidades pertencem a um determinado estado.
Para melhor compreensão, imagine o primeiro cadastro na tabela tblEstados sendo a cidade de São Paulo. O campo idEstado receberá
automaticamente o número 1. Ao lançar as cidades de São Paulo na tabela tblCidades, bastará indicar no campo IdEstado o valor 1
para associar que as cidades cadastradas pertencem ao estado de São Paulo.
Ao lançar a segunda cidade na tabela tblEstados, por exemplo - Rio de Janeiro, automaticamente idEstado receberá o número 2. Ao
acrescentar as cidade na tabela tblCidades, pertencentes ao estado do Rio de Janeiro, bastará informar o número 2. Assim, teremos a
seguinte lista de cadastros:
tblEstados:
1 | São Paulo
2 | Rio de Janeiro
tblCidades:
1 | Campinas
1 | Campos do Jordão
1 | São Caetano
2 | Duque de Caxias
2 | São Gonçalo
No exemplo fornecido, a primeira Combobox lista os estados e a segunda Combobox lista as cidades. A segunda Combobox, que lista
as cidades, será dependente da informação da primeira Combobox, ou seja, o usuário deverá selecionar o Estado para que a segunda
Combobox liste apenas as cidades do estado selecionado.
Ao selecionar o estado na primeira Combobox, temos a informação do campo idEstado, que identifica o Estado de forma exclusiva.
O campo idEstado está oculto nas Combobox, pois não faz sentido para o usuário a visualização deste. Usamos então, a técnica de
esconder a coluna, conforme apresentado na Dica 47 acima.
Usamos o evento Após atualizar da primeira Combobox para montagem da consulta, origem da segunda Combobox. Para filtragem
usamos o campo idEstado que é comum as duas tabelas e assim sendo, podemos identificar de forma exclusiva as cidades
pertencentes ao estado selecionado. Observe bem, os comentários no código abaixo:
'----------------------------------------------------------------
'Carregando a consulta filtrada na Combobox que lista as cidades
Me!cboCidade.RowSource = strSql
'----------------------------------------------------------------
Me!cboCidade.SetFocus 'Combobox das cidades recebe o foco
Me!cboCidade.Dropdown 'Abre automaticamente a lista
End Sub