Comment synchroniser deux zones de liste déroulante sur un formulaire dans Microsoft Access
Cet article décrit la propriété AfterUpdate qui exécute une procédure événementielle lorsque vous sélectionnez une catégorie dans la première zone de liste déroulante.
Numéro de la base de connaissances d’origine : 289670
Remarque
Vous devez disposer de connaissances de base en macro, codage et interopérabilité avant de commencer. Cet article s’applique à une base de données Microsoft Access (.mdb/.accdb) et à un projet Microsoft Access (.adp).
Résumé
Cet article explique comment synchroniser deux zones de liste déroulante de sorte que lorsque vous sélectionnez un élément dans la première zone de liste modifiable, la sélection limite les choix dans la deuxième zone de liste modifiable.
Remarque
Cet article décrit une technique illustrée dans l’exemple de fichier, FrmSmp00.mdb.
Informations supplémentaires
L’exemple suivant utilise l’exemple de base de données Northwind.mdb. La première zone de liste déroulante répertorie les catégories de produits disponibles, et la deuxième liste déroulante répertorie les produits disponibles pour la catégorie sélectionnée dans la première zone de liste modifiable :
Microsoft fournit des exemples de programmation à titre d’illustration uniquement, sans garantie expresse ou implicite. Cela inclut, sans y être limité, les garanties implicites de commercialisation et d’adaptation à un but en particulier. Cet article considère que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du Support technique Microsoft peuvent vous expliquer les fonctionnalités d’une procédure particulière, mais ils ne peuvent pas modifier les exemples en vue de vous fournir des fonctionnalités supplémentaires ou de créer des procédures répondant à vos besoins spécifiques.
Ouvrez l’exemple de base de données Northwind.mdb.
Créez un formulaire qui n’est basé sur aucune table ou requête avec les zones de liste déroulante suivantes, puis enregistrez le formulaire en tant que Catégories et produits.
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"
Remarque
Si vous êtes dans un projet Access, le
RowSourceType
sera Table/Vue/StoredProc.Ajoutez le code suivant à la procédure événementielle AfterUpdate de la zone de liste déroulante Catégories :
Me.Products.RowSource = "SELECT ProductName FROM" & _ " Products WHERE CategoryID = " & Me.Categories & _ " ORDER BY ProductName" Me.Products = Me.Products.ItemData(0)
Affichez le formulaire Catégories et produits en mode Formulaire.
Remarque
Lorsque vous sélectionnez une catégorie dans la première zone de liste modifiable, la deuxième zone de liste modifiable est mise à jour pour répertorier uniquement les produits disponibles pour la catégorie sélectionnée.
Notes
Dans cette exemple, la deuxième zone est remplie à l'aide des résultats d'une instruction SQL. Cette instruction SQL recherche tous les produits qui ont un CategoryID qui correspond à la catégorie sélectionnée dans la première zone de liste déroulante.
Chaque fois qu’une catégorie est sélectionnée dans la première zone de liste modifiable, la AfterUpdate
propriété exécute la procédure événementielle, qui définit la propriété de la deuxième zone de RowSource
liste déroulante. La liste des produits de la deuxième zone est ainsi actualisée. Sans cette procédure, le contenu de la deuxième zone ne changerait pas.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour