Partager via


ListBox object (Access)

Cet objet correspond à un contrôle de zone de liste. Le contrôle Zone de liste affiche une liste de valeurs ou de solutions de remplacement.

Remarques

Contrôle Outil
Contrôle de zone de liste Outil Zone de liste

Dans la plupart de cas, il s'avère plus rapide de sélectionner une valeur dans une liste que de se rappeler la valeur à taper. Une liste de choix permet de garantir que la valeur qui est entrée dans le champ est correcte.

La liste de la zone de liste est constituée de plusieurs lignes de données. Les lignes peuvent avoir une ou plusieurs colonnes, qui peuvent apparaître avec ou sans en-têtes, comme illustré dans le diagramme suivant.

Zone de liste à plusieurs colonnes

Quand une zone de liste à plusieurs colonnes est liée, Microsoft Access stocke les valeurs d'une des colonnes.

Utilisez une zone de liste indépendante pour stocker une valeur que vous pouvez utiliser avec un autre contrôle. Par exemple, vous pouvez créer une zone de liste indépendante pour limiter les valeurs dans une autre zone de liste ou dans une boîte de dialogue personnalisée. Vous pouvez également utiliser une zone de liste indépendante pour rechercher un enregistrement en fonction de la valeur que vous sélectionnez dans la zone de liste.

Si vous ne disposez pas d'assez de place dans votre formulaire pour afficher une zone de liste, ou si vous voulez pouvoir aussi bien taper de nouvelles valeurs que sélectionner des valeurs dans une liste, utilisez une zone de liste modifiable au lieu d'une zone de liste.

Exemple

Cet exemple montre comment filtrer le contenu d’une zone de liste pendant que vous tapez dans une zone de texte.

Dans cet exemple, une zone de liste nommée ColorID affiche une liste de couleurs stockées dans le tableau Couleurs . Lorsque vous tapez dans la zone de texte FilterBy , les éléments dans ColorID sont filtrés dynamiquement.

Pour ce faire, utilisez l’événement Change de la zone de texte pour générer une instruction SQL qui servira de nouveau RowSource de la zone de liste.

Private Sub FilterBy_Change()

    Dim sql As String
    
    'This will match any entry in the list that begins with what the user 
    'has typed in the FilterBy control
    sql = "SELECT ColorID, ColorName FROM Colors WHERE ColorName Like '" & Me.FilterBy.Text & "*' ORDER BY ColorName"
    
    'If you want to match any part of the string then add wildcard (*) before
    'the FilterBy.Text, too:
    'sql = "SELECT ColorID, ColorName FROM Colors WHERE ColorName Like '*" & Me.FilterBy.Text & "*' ORDER BY ColorName"
    
    Me.ColorID.RowSource = sql
    
End Sub

Événements

Méthodes

Propriétés

Voir aussi

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.