Como sincronizar duas caixas de combinação num formulário no Microsoft Access
Este artigo descreve que a propriedade AfterUpdate executa um procedimento de evento quando seleciona uma categoria na primeira caixa de combinação.
Número original da BDC: 289670
Nota
Necessita de competências básicas de macro, programação e interoperabilidade. Este artigo aplica-se a uma base de dados do Microsoft Access (.mdb/.accdb) e a um projeto do Microsoft Access (.adp).
Resumo
Este artigo descreve como sincronizar duas caixas de combinação para que, quando seleciona um item na primeira caixa de combinação, a seleção limite as escolhas na segunda caixa de combinação.
Nota
Este artigo explica uma técnica demonstrada no ficheiro de exemplo, FrmSmp00.mdb.
Mais Informações
O exemplo seguinte utiliza a base de dados de exemplo Northwind.mdb. A primeira caixa de combinação lista as categorias de produtos disponíveis e a segunda caixa de combinação lista os produtos disponíveis para a categoria selecionada na primeira caixa de combinação:
A Microsoft fornece exemplos de programação apenas a título informativo, sem qualquer garantia expressa ou implícita, incluindo, sem limitações, as garantias implícitas de comercialização e/ou adequação a um fim específico. Este artigo pressupõe que o utilizador está familiarizado com a linguagem de programação demonstrada e as ferramentas utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às suas necessidades específicas.
Abra a base de dados de exemplo Northwind.mdb.
Crie um novo formulário que não se baseie em nenhuma tabela ou consulta com as seguintes caixas de combinação e, em seguida, guarde o formulário como Categorias e Produtos.
Combo Box 1 ------------------------------- Name: Categories RowSourceType: Table/Query RowSource: Categories ColumnCount: 2 ColumnWidths: 0";1" BoundColumn: 1 AfterUpdate: [Event Procedure] Combo Box 2 -------------------------- Name: Products RowSourceType: Table/Query ColumnWidths: 2" Width: 2"
Nota
Se estiver num projeto do Access, o
RowSourceType
será Table/View/StoredProc.Adicione o seguinte código ao procedimento de evento AfterUpdate da caixa de combinação Categorias:
Me.Products.RowSource = "SELECT ProductName FROM" & _ " Products WHERE CategoryID = " & Me.Categories & _ " ORDER BY ProductName" Me.Products = Me.Products.ItemData(0)
Veja o formulário Categorias e Produtos na vista Formulário.
Nota
Quando seleciona uma categoria na primeira caixa de combinação, a segunda caixa de combinação é atualizada para listar apenas os produtos disponíveis para a categoria selecionada.
Notas
Neste exemplo, a segunda caixa de combinação é preenchida com os resultados de uma instrução SQL. Esta instrução SQL localiza todos os produtos que têm um CategoryID que corresponde à categoria selecionada na primeira caixa de combinação.
Sempre que uma categoria é selecionada na primeira caixa de combinação, a AfterUpdate
propriedade executa o procedimento de evento, que define a propriedade da RowSource
segunda caixa de combinação. Esta ação atualiza a lista de produtos disponíveis na segunda caixa de combinação. Sem este procedimento, o conteúdo da segunda caixa de combinação não seria alterado.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários