31 janvier 2005
Par Sal Ricciardi
Proposer des choix, c'est la fonction première d'une zone de liste déroulante. Or, parfois, un choix peut dépendre d'un autre. Dans cette chronique, vous apprendrez à configurer une zone de liste déroulante de sorte que sa liste soit basée sur la sélection que vous effectuez dans une autre. Nous fournissons un exemple à partir d'une base de données exemple que vous pouvez télécharger.
| S'applique à |
Microsoft Office Access 2003 Microsoft Access 2000 et 2002 |
Question : Comment créer une zone de liste déroulante qui limite sa liste en fonction de la sélection effectuée dans une autre zone de liste déroulante ?
Vous devez baser la seconde zone de liste déroulante (zone de liste modifiable : contrôle, utilisé dans un formulaire, qui fournit une zone de liste et une zone de texte. Vous pouvez taper une valeur ou cliquer sur le contrôle pour afficher une liste et y sélectionner un élément.) sur une requête offrant des correspondances avec les lignes contenant la valeur sélectionnée dans la première zone de liste déroulante. Vous devez également placer du code VBA (Microsoft Visual Basic pour Applications) dans certains événements (événement : action reconnue par un objet, comme un clic de souris ou l’enfoncement d’une touche, et pour laquelle vous pouvez définir une réponse. Un événement peut être provoqué par l’action d’un utilisateur ou une instruction Visual Basic, ou être déclenché par le système.) de formulaire et de contrôle. Le code vise à garantir que les zones de liste déroulantes affichent les valeurs adéquates lors de certains événements (p.ex., lorsque vous effectuez un choix dans la première zone de liste déroulante ou lorsque vous ouvrez le formulaire pour la première fois). Dans un premier temps, commençons par examiner les propriétés (propriété : attribut nommé d’un contrôle, d’un champ ou d’un objet que vous paramétrez pour définir l’une des caractéristiques de l’objet (taille, couleur ou emplacement à l’écran) ou un aspect de son comportement (par exemple, pour spécifier si l’objet est masqué ou non).) Contenu et OrigineSource.
Présentation des propriétés Contenu et OrigineSource
La propriété Contenu vous permet de définir la source des éléments affichés dans une zone de liste déroulante. Elle s'utilise avec la propriété OrigineSource pour indiquer à Access le mode de remplissage de la zone de liste déroulante. Par exemple, vous pouvez définir la valeur de la propriété OrigineSource à Table/Requête, puis attribuer à la propriété Contenu le nom d'une requête. Access exécute alors la requête et se sert des résultats pour remplir la zone de liste déroulante.
Vous n'êtes pas tenu d'utiliser une requête enregistrée. Dans la mesure où la propriété OrigineSource a la valeur Table/Requête, vous pouvez créer une requête qui existe sous forme d'instruction SQL SELECT dans la propriété Contenu de la zone de liste déroulante. Il s'agit de la technique employée dans le formulaire de la base de données exemple utilisée dans cet article.
Les paramètres possibles de la propriété OrigineSource sont répertoriés dans le tableau suivant.
| Paramètre |
Description |
| Table/Requête |
Les données sont extraites de la table, de la requête ou de l'instruction SQL spécifiée par la propriété Contenu. Il s'agit du paramètre par défaut. |
| Liste de valeurs |
Les données sont extraites d'une liste d'éléments spécifiée par la propriété Contenu. |
| Liste de champs |
Les données sont extraites d'une liste de noms de champs issus de la table, de la requête ou de l'instruction SQL spécifiée par la propriété Contenu. |
La plupart du temps, vous utiliserez le paramètre par défaut, à savoir, Table/Requête.
Création de l'exemple de formulaire
Vous pouvez télécharger la base de données exemple mentionnée dans cette chronique. Vous y trouverez un exemple de formulaire qui illustre la technique expliquée ici. Pour créer vous-même cet exemple de formulaire, démarrez Access, exécutez la procédure détaillée dans la section extensible suivante, puis lisez la suite de la chronique.
Procédure : Comment créer l'exemple de formulaire
Procédez de l'une des manières suivantes :
Pour créer un nouveau formulaire :
- Dans la fenêtre Base de données, sous Objets, cliquez sur Formulaires.
- Dans la fenêtre Base de données, dans la barre d'outils, cliquez sur Nouveau
- Dans la boîte de dialogue Nouveau formulaire, cliquez sur Mode Création, puis sur OK.
Pour ouvrir un formulaire existant en mode Création
- Dans la fenêtre Base de données, sous Objets, cliquez sur Formulaires.
- Cliquez sur le formulaire, puis sur Modifier, dans la fenêtre Base de données.
Pour ajouter la zone de liste déroulante Catégorie
- Dans la boîte à outils, cliquez sur le bouton Assistant de contrôle de façon à le sélectionner.
Remarque Si la boîte à outils n'est pas affichée, cliquez dans le menu Affichage sur Boîte à outils.
- Dans la boîte à outils, cliquez sur l'outil Zone de liste.
- Cliquez à l'intérieur de la grille de création de formulaire et faites glisser la souris pour créer la zone de liste déroulante.
- Dans l'Assistant Zone de liste déroulante, cliquez sur le bouton en regard de Je veux que la zone de liste recherche les valeurs dans une table ou requête, puis sur Suivant.
- Dans la section Afficher, cliquez sur Tables.
- Cliquez sur Table : Catégories dans la liste, puis sur Suivant.
- Dans Champs disponibles, double-cliquez sur Code catégorie et sur NomCatégorie de sorte que tous deux s'affichent dans Champs sélectionnés, puis cliquez sur Suivant.
- Dans la page Quel ordre de tri souhaitez-vous pour votre liste ?, cliquez sur NomCatégorie dans la première liste, puis sur Suivant.
- Dans la page suivante, assurez-vous que la case à cocher Colonne clé cachée (recommandé) est activée, puis cliquez sur Suivant.
- Tapez une étiquette pour votre zone de liste déroulante. Pour les besoins de cette chronique, j'ai utilisé Nom de la catégorie.
- Cliquez sur Terminer.
- Enregistrez le formulaire.
Pour affecter la propriété Nom
- Dans le formulaire, qui est toujours ouvert en mode Création, cliquez sur la nouvelle zone de liste déroulante.
- Dans le menu Affichage, cliquez sur Propriétés.
- Dans la zone Nom, tapez Catégorie.
- Fermez la feuille de propriétés de la requête.
Pour ajouter la zone de liste déroulante Produit
- Dans la boîte à outils, assurez-vous que le bouton Assistant de contrôle est sélectionné.
Remarque Si la boîte à outils n'est pas affichée, cliquez dans le menu Affichage sur Boîte à outils.
- Dans la boîte à outils, cliquez sur l'outil Zone de liste.
- Cliquez à l'intérieur de la grille de création de formulaire et faites glisser la souris pour créer la zone de liste déroulante.
- Dans l'Assistant Zone de liste déroulante, cliquez sur le bouton en regard de Je veux que la zone de liste recherche les valeurs dans une table ou requête, puis sur Suivant.
- Dans la section Afficher, cliquez sur Tables.
- Cliquez sur Table : Produits dans la liste, puis sur Suivant.
- Dans Champs disponibles, double-cliquez sur Réf produit, Nom du produit et Code catégorie de sorte que tous trois s'affichent dans Champs sélectionnés, puis cliquez sur Suivant.
- Dans la page Quel ordre de tri souhaitez-vous pour votre liste ?, cliquez sur Nom du produit dans la première liste, puis sur Suivant.
- Assurez-vous que la case à cocher Colonne clé cachée (recommandé) est activée, puis cliquez sur la bordure droite de la colonne Catégorie et faites glisser la souris de façon à réduire la colonne et la faire disparaître. Cliquez sur Suivant.
- Tapez une étiquette pour votre zone de liste déroulante. Pour les besoins de cette chronique, j'ai utilisé Nom du produit.
- Cliquez sur Terminer.
- Enregistrez le formulaire.
Pour affecter la propriété Nom
- Cliquez sur la zone de liste déroulante Produit.
- Dans le menu Affichage, cliquez sur Propriétés.
- Dans la zone Nom, tapez Produit.
- Fermez la feuille de propriétés.
Pour ajouter une zone de texte d'état
- Dans la boîte à outils, cliquez sur l'outil Zone de texte.
Remarque Si la boîte à outils n'est pas affichée, cliquez dans le menu Affichage sur Boîte à outils.
- Cliquez en dessous des deux zones de liste déroulante à l'intérieur de la grille de création de formulaire, puis faites glisser la souris pour créer la zone de texte.
- Dans le menu Affichage, cliquez sur Propriétés.
- Dans la zone Source contrôle, tapez soigneusement
=« Vous avez choisi le produit " & Produit.Colonne(1) & " de la catégorie " & Catégorie.Colonne(1) & " ! »
- Fermez la feuille de propriétés.
- Supprimez l'étiquette associée à la zone de texte que vous venez de créer.
Pour ajouter une zone de texte explicative (facultatif)
- Dans la boîte à outils, cliquez sur l'outil Zone de texte.
Remarque Si la boîte à outils n'est pas affichée, cliquez dans le menu Affichage sur Boîte à outils.
- Cliquez en dessous des deux zones de liste déroulante à l'intérieur de la grille de création de formulaire, puis faites glisser la souris pour créer la zone de texte. Dans l'exemple de formulaire, j'ai placé cette zone de texte entre les deux zones de liste déroulante (au-dessus de la zone de liste déroulante Produit et en dessous de la zone de liste déroulante Catégorie.
- Dans le menu Affichage, cliquez sur Propriétés.
- Dans la zone Source contrôle, tapez soigneusement
=« Lorsque vous choisissez une catégorie, la liste de produits change pour proposer uniquement les produits de cette catégorie ».
- Fermez la feuille de propriétés.
- Supprimez l'étiquette associée à la zone de texte que vous venez de créer.
- Enregistrez le formulaire.
Pour mettre en forme les zones de texte (facultatif)
- Augmentez la taille de police et modifiez-en la couleur.
- Redimensionnez et déplacez chaque zone de texte pour accueillir tout le texte.
- Définissez la valeur de la propriété Style fond à Transparent pour que l'arrière-plan de la zone de texte se confonde avec celui du formulaire.
Veillez à exécuter les procédures restantes de cette chronique pour ajouter des critères à la zone de liste déroulante Produit et inclure du code là où cela est nécessaire afin, notamment, de tenir les zones de liste déroulante à jour.
Comment ajouter des critères à la requête Produit
Dans la mesure où vous pouvez demander à Access de remplir une zone de liste déroulante avec les résultats d'une requête, vous pouvez également ajouter des critères à cette requête de façon à limiter les éléments qui apparaissent dans la zone de liste déroulante. Dans notre cas, les critères de la seconde zone de liste déroulante doivent limiter les résultats aux seules lignes qui offrent une correspondance avec la valeur figurant dans la première zone de liste déroulante.
Par exemple, supposons que vous vouliez attribuer à une zone de liste déroulante de catégories le nom Catégorie et à une zone de liste déroulante de produits le nom Produit. Lorsque vous cliquez sur la zone de liste déroulante Catégorie, vous voulez que la zone de liste déroulante Produit n'affiche que les produits de cette catégorie. Pour ce faire, vous devez définir des critères dans la requête associée à la zone de liste déroulante Produit qui offre une correspondance avec la valeur active dans la zone de liste déroulante Catégorie.
Pour ajouter des critères à la requête
- Ouvrez la feuille de propriétés de la zone de liste déroulante Produit.
- Cliquez dans la zone Contenu, puis sur le bouton ... qui apparaît.
- Dans le Générateur de requêtes, assurez-vous que la grille de champs contient les colonnes de la table Produits qui doivent apparaître dans la zone de liste déroulante Produit, telles que Réf produit, Nom du produit, etc. Veillez à inclure le champ Code catégorie.
- Dans la colonne Code catégorie de la grille du Générateur de requêtes, tapez [Formulaires]![Zone de liste déroulante]![Catégorie] dans la ligne Critères, en remplaçant « Zone de liste déroulante » par le nom de votre formulaire. Les critères indiquent à Access de limiter les résultats de la requête aux seules lignes qui correspondent à la valeur actuellement sélectionnée dans la zone de liste déroulante Catégorie. Votre grille du Générateur de requêtes doit maintenant se présenter comme celle illustrée ci-dessous.
- Pour finir, fermez le Générateur de requêtes puis la feuille de propriétés de la requête en cliquant sur Oui quand Access vous invite à enregistrer les modifications.
Access insère une instruction SQL dans la propriété Contenu lorsque vous fermez le Générateur de requêtes. L'instruction SQL comprend une clause WHERE similaire à celle qui suit.
WHERE (((Products.CategoryID)=[Forms]![Combo Form]![Category]))
La clause WHERE limite les lignes à celles qui offrent une correspondance avec la valeur figurant dans la zone de liste déroulante Catégorie.
- Enregistrez le formulaire.
Présentation des propriétés ColonneLiée et NbreColonnes
L'un des avantages liés à l'utilisation de l'Assistant Zone de liste déroulante est qu'il remplit automatiquement les propriétés qui vous sont utiles. Deux de ces propriétés méritent que l'on s'y intéresse de plus près.
- La propriété ColonneLiée indique à Access la colonne de la zone de liste déroulante qui contient la valeur à associer au contrôle. Cette propriété contient un numéro qui représente une colonne au niveau du contenu, qui débute à 1 pour progresser à 2, 3, etc., de gauche à droite. En règle générale, on sélectionne une clé primaire, telle que Code catégorie ou Réf produit. Ainsi, si vous faites référence à la valeur du contrôle, vous obtenez la valeur du champ Code catégorie ou Réf produit pour la ligne sélectionnée.
Par exemple, l'expression [Formulaires]![Zone de liste déroulante]![Catégorie] (entrée dans la grille du Générateur de requêtes représentée dans l'illustration précédente) renvoie la valeur stockée dans la propriété ColonneLiée de la ligne sélectionnée dans le contrôle Zone de liste déroulante intitulé Catégorie. La valeur du champ Code catégorie est renvoyée, car la propriété ColonneLiée de la zone de liste déroulante Catégorie a la valeur 1, qui représente la colonne Code catégorie. La valeur de cette dernière est alors utilisée par la requête pour afficher les lignes correspondances dans la zone de liste déroulante Produit.
- La propriété NbreColonnes indique à Access le nombre de colonnes qui se trouvent dans la zone de liste déroulante. Par exemple, dans le cas de la zone de liste déroulante Catégorie, la valeur de cette propriété est définie à 2, car le contenu contient deux colonnes : Code catégorie et NomCatégorie. Pour la zone de liste déroulante Produit, la valeur de la propriété NbreColonnes est définie à 3, car le contenu comprend les colonnes Réf produit, Nom du produit et Code catégorie.
Notez que lorsqu'il s'agit de calculer la valeur de la propriété NbreColonnes, vous devez compter toutes les colonnes dont la valeur doit être mise à disposition dans Access, que la colonne soit ou non visible dans la zone de liste déroulante. Vous pouvez masquer une colonne par le biais de la propriété LargeurColonne.
Pour plus d'informations, consultez la section Masquage de certaines colonnes.
Comment tenir à jour la zone de liste déroulante
La zone de liste déroulante Produit doit être mise à jour chaque fois que la valeur de la zone de liste déroulante Catégorie change. Pour ce faire, vous pouvez ajouter du code VBA pour actualiser le contenu de la zone de liste déroulante Produit chaque fois que la zone de liste déroulante Catégorie est mise à jour. Access fournit l'événement Après MAJ spécialement à cet effet.
Penchons-nous sur le code relatif à l'événement Après MAJ. Tout d'abord, il convient d'attribuer à la zone de liste déroulante Produit la valeur Null, ce qui a pour effet de garantir que rien n'apparaît initialement dans la zone. Cela est judicieux, car une fois que vous avez choisi une catégorie, la valeur sélectionnée dans la zone de liste déroulante Produit devient non valide (en effet, le produit actuellement affiché appartient à la catégorie précédente).
Ensuite, la méthode Actualiser est appelée pour remplir à nouveau la zone de liste déroulante Produit, en fonction de la catégorie actuelle. Enfin, la zone de liste déroulante Produit est prédéfinie sur le premier élément de la liste via la propriété ItemData. La propriété ItemData renvoie la valeur de la ligne spécifiée dans une zone de liste déroulante ou une zone de liste. La valeur de base de la liste étant 0, pensez à choisir 0 comme indice de la première ligne, et non la valeur 1.
Private Sub CategoryAfterUpdate()
Me.Product = Null
Me.Product.Requery
Me.Product = Me.Product.ItemData(0)
End Sub
Pour obtenir des instructions pas à pas sur le placement du code dans l'événement Après MAJ de la zone de liste déroulante Catégorie, consultez la section extensible suivante.
Procédure : Comment placer le code dans la première zone de liste déroulante de façon à mettre automatiquement à jour la seconde zone de liste déroulante
Pour créer le code, procédez comme suit :
Pour ouvrir le formulaire en mode Création
- Dans la fenêtre Base de données, sous Objets, cliquez sur Formulaires.
- Cliquez sur le formulaire, puis sur Modifier, dans la fenêtre Base de données.
Modifier la procédure Category_AfterUpdate
- Cliquez sur la zone de texte déroulante Catégorie pour la sélectionner.
- Dans le menu Affichage, cliquez sur Propriété, puis sur l'onglet Événement.
- Cliquez dans la zone Après MAJ, puis sur le bouton ... une fois celui-ci affiché.
- Lorsque la boîte de dialogue Choisir Générateur s'affiche, cliquez sur Générateur de code, puis sur OK.
- Entrez le code dans Visual Basic Editor (Visual Basic Editor : environnement dans lequel vous écrivez du nouveau code et des nouvelles procédures Visual Basic pour Applications ou modifiez du code et des procédures existants. Visual Basic Editor contient un ensemble complet d’outils de débogage qui permet de rechercher dans votre code les problèmes de syntaxe, d’exécution et de logique.) de sorte que la procédure Category_AfterUpdate se présente exactement comme dans l'exemple précédent.
- Lorsque vous avez terminé, cliquez sur Enregistrer dans le menu Fichier. Dans le menu Fichier, cliquez ensuite sur Fermer et retourner à Microsoft Office Access.
- Fermez la feuille de propriétés.
- Fermez le formulaire.
Que faire après avoir ouvert le formulaire
Lorsque vous ouvrirez le formulaire pour la première fois, vous constaterez peut-être que les zones de liste déroulante ne contiennent aucune valeur, car vous n'en avez pas encore choisi. Pour l'exemple de formulaire, j'ai jugé qu'il était préférable d'afficher la première valeur de la liste de catégories et le premier produit de cette catégorie. J'ai donc placé le code VBA suivant dans l'événement Chargement du formulaire. Le code est appelé lorsque vous ouvrez le formulaire pour la première fois. Il définit la catégorie en fonction de la première valeur de la liste, puis appelle la procédure Category_AfterUpdate pour mettre à jour la zone de liste déroulante Produit.
Private Sub Form_Load(Cancel As Integer)
Me.Category = Me.Category.ItemData(0)
Call Category_AfterUpdate
End Sub
L'exemple de formulaire utilise des zones de liste déroulante indépendantes (contrôle indépendant : contrôle qui n’est pas connecté à un champ d’une table, d’une requête ou d’une instruction SQL sous-jacente. Un contrôle indépendant est souvent utilisé pour afficher un texte informatif ou des images décoratives.). Une zone de liste déroulante indépendante n'est liée à aucun champ de table ou de requête. Si, en revanche, vous utilisez des zones de liste déroulante dépendantes (colonne liée : colonne d’une zone de liste, d’une zone de liste modifiable ou d’une zone de liste déroulante qui est liée au champ spécifié par la propriété ControlSource du contrôle.), il est probable que vous ne souhaiterez pas utiliser la procédure Form_Load mentionnée ci-dessus, car elle réinitialise la catégorie à chaque chargement du formulaire. Au lieu de cela, éliminez ce code ou utilisez quelque chose comme :
Private Sub Form_Load(Cancel As Integer)
If IsNull(Category) Then
Me.Category = Me.Category.ItemData(0)
Call Category_AfterUpdate
End If
End Sub
Dans cette version, la catégorie n'est réinitialisée que si elle vide.
Pour obtenir des instructions pas à pas sur le placement du code dans l'événement Chargement du formulaire, consultez la section extensible suivante.
Procédure : Comment placer du code dans l'événement Chargement du formulaire qui s'exécutera à l'ouverture de ce dernier
Pour créer le code, procédez comme suit :
Pour ouvrir le formulaire en mode Création
- Dans la fenêtre Base de données, sous Objets, cliquez sur Formulaires.
- Cliquez sur le formulaire, puis sur Modifier, dans la fenêtre Base de données.
Pour modifier la procédure Form_Load
- Dans le menu Edition, cliquez sur Sélectionner le formulaire.
- Dans le menu Affichage, cliquez sur Propriété, puis sur l'onglet Événement.
- Cliquez dans la zone Sur chargement, puis sur le bouton ... une fois celui-ci affiché.
- Lorsque la boîte de dialogue Choisir Générateur s'affiche, cliquez sur Générateur de code, puis sur OK.
- Entrez le code dans Visual Basic Editor (Visual Basic Editor : environnement dans lequel vous écrivez du nouveau code et des nouvelles procédures Visual Basic pour Applications ou modifiez du code et des procédures existants. Visual Basic Editor contient un ensemble complet d’outils de débogage qui permet de rechercher dans votre code les problèmes de syntaxe, d’exécution et de logique.) de sorte que la procédure Form_Load se présente exactement comme dans l'exemple précédent.
- Lorsque vous avez terminé, cliquez sur Enregistrer dans le menu Fichier. Dans le menu Fichier, cliquez ensuite sur Fermer et retourner à Microsoft Office Access.
- Fermez la feuille de propriétés.
- Fermez le formulaire.
Comment gérer la navigation entre les enregistrements
Si vous utilisez des zones de liste déroulante dépendantes, vous pouvez toujours employer la technique présentée dans cette chronique, mais vous devez réfléchir à ce qui doit se passer lorsque l'enregistrement actif change après que l'utilisateur ait parcouru différents enregistrements. Dans ce cas, vous devrez peut-être actualiser la deuxième zone de liste déroulante chaque fois que vous passerez d'un enregistrement à un autre. Cette opération doit être effectuée dans l'événement Current du formulaire à l'aide de code comparable à l'exemple suivant.
Private Sub Form_Current()
Me.Product.Requery
End Sub
Pour obtenir des instructions pas à pas sur le placement du code dans l'événement Current du formulaire, consultez la section extensible suivante.
Procédure : Comment placer du code dans l'événement Current du formulaire qui s'exécutera lorsque vous passerez d'un enregistrement à un autre
Pour créer le code, procédez comme suit :
Pour ouvrir le formulaire en mode Création
- Dans la fenêtre Base de données, sous Objets, cliquez sur Formulaires.
- Cliquez sur le formulaire, puis sur Modifier, dans la fenêtre Base de données.
Pour modifier la procédure Form_Current
- Dans le menu Edition, cliquez sur Sélectionner le formulaire.
- Dans le menu Affichage, cliquez sur Propriétés, puis sur l'onglet Événement.
- Cliquez dans la zone Sur activation, puis sur le bouton ... une fois celui-ci affiché.
- Lorsque la boîte de dialogue Choisir Générateur s'affiche, cliquez sur Générateur de code, puis sur OK.
- Entrez le code dans Visual Basic Editor (Visual Basic Editor : environnement dans lequel vous écrivez du nouveau code et des nouvelles procédures Visual Basic pour Applications ou modifiez du code et des procédures existants. Visual Basic Editor contient un ensemble complet d’outils de débogage qui permet de rechercher dans votre code les problèmes de syntaxe, d’exécution et de logique.) de sorte que la procédure Form_Current se présente exactement comme dans l'exemple précédent.
- Lorsque vous avez terminé, cliquez sur Enregistrer dans le menu Fichier. Dans le menu Fichier, cliquez ensuite sur Fermer et retourner à Microsoft Office Access.
- Fermez la feuille de propriétés.
- Fermez le formulaire.
Masquage de certaines colonnes
Lorsque vous créerez la zone de liste déroulante Produit, vous inclurez (au moins) les colonnes Réf produit, Nom du produit et Code catégorie, mais il est probable que vous voudrez n'afficher que la colonne Nom du produit. Pour masquer les colonnes que vous ne souhaitez pas afficher, vous pouvez définir la propriété LargeurColonne de la zone de liste déroulante Produit illustrée ci-dessous.
La propriété LargeurColonne vous permet de spécifier la largeur de chaque colonne de votre zone de liste déroulante en centimètres (ou en pouces, si vous utilisez le système de mesures impérial). Séparez les mesures de colonne avec des points-virgules. Pour les colonnes que vous souhaitez masquer, définissez la largeur à 0.
Notez qu'en attribuant à la colonne une largeur égale à 0, la colonne est masquée au niveau de l'affichage, mais elle continue d'exister et ses valeurs sont toujours accessibles à Access. Par conséquent, dans l'illustration précédente de la zone de liste déroulante Produit, les colonnes Réf produit et Code catégorie sont masquées, mais les valeurs restent disponibles. De fait, Access fournit la propriété Colonne pour que vous puissiez obtenir la valeur active d'une colonne de la ligne sélectionnée dans une zone de liste déroulante. Par exemple, Product.Column(0) renvoie la valeur de la colonne Réf produit, Product.Column(1) renvoie le Nom du produit, et Product.Column(2) renvoie le Code catégorie.
Télécharger la base de données exemple
La base de données exemple inclut l'exemple de formulaire mentionné dans cette chronique, en plus des données d'exemple tirées de la base de données exemple LesComptoirs.mdb fournie avec Access.
Informations complémentaires
- Pour découvrir une autre approche de cette procédure destinée à baser une zone de liste déroulante sur une autre (zones de liste déroulante synchronisées), consultez les articles suivants dans la Base de connaissances Microsoft :
- Pour suivre une formation en ligne visant à faire découvrir les contrôles Access, consultez le cours de formation Office Online, Apprendre à utiliser les contrôles.
- Pour visionner un webcast de support technique traitant des zones de liste déroulante, consultez Webcast : Guide de survie sur les zones de liste déroulantes Microsoft Access.
- Pour obtenir un large ensemble de solutions et de suggestions sur Access, consultez Ken Getz, Paul Litwin et Andy Baron, Access en action (O'Reilly Media, Inc., 2003).
- Pour obtenir un excellent exposé analytique sur divers thèmes, notamment le contrôle Zone de liste déroulante Access, consultez l'ouvrage Access 2002 Desktop Developer's Handbook de Paul Litwin, Ken Getz et Mike Gunderloy (SYBEX, 2001).
À propos de l'auteur
Sal Ricciardi est membre de l'équipe d'assistance utilisateur pour Microsoft Office.