Partager via


Propriété ComboBox.ColumnCount (Access)

Utilisez la propriété ColumnCount pour spécifier le nombre de colonnes affichées dans une zone de liste ou dans la partie zone de liste d’une zone de liste déroulante, ou envoyées à des objets OLE dans un contrôle graphique ou un cadre d’objet indépendant. Entier en lecture/écriture.

Syntaxe

expression. ColumnCount

Expression Variable qui représente un objet ComboBox .

Remarques

La propriété ColumnCount est un entier compris entre 1 et le nombre maximal de champs dans la table, requête ou une instruction SQL ou le nombre maximal de valeurs dans la liste de valeurs spécifiée dans la propriété RowSource (contenu) du contrôle.

Pour les champs de table , vous pouvez définir cette propriété sous l'onglet liste de choix dans la section Propriétés du champ en mode Création pour les champs de table avec la propriété DisplayControl définie sur zone de liste modifiable ou zone de liste.

Par exemple, si vous définissez la propriété ColumnCount pour une zone de liste sur un formulaire Employés sur 3, une colonne peut répertorier les noms, une autre peut répertorier les prénoms et la troisième peut répertorier les numéros d’identification des employés.

Une zone de liste déroulante ou zone de liste peut contenir plusieurs colonnes. Si la propriété RowSource (contenu) du contrôle contient le nom d'une table, requête ou instruction SQL, une zone de liste déroulante ou zone de liste affichera les champs de la source, de gauche à droite, jusqu'au nombre spécifié par la propriété ColumnCount.

Pour afficher une autre combinaison de champs, créez une nouvelle requête ou une nouvelle instruction SQL pour la propriété RowSource en spécifiant les champs et l'ordre souhaité.

Si la propriété RowSource (contenu) contient une liste de valeurs (la propriété RowSourceType est définie sur Liste valeurs), les valeurs sont insérées dans les lignes et colonnes de la zone de liste modifiable ou zone de liste dans l'ordre qu'ils sont répertoriés dans la propriété RowSource (contenu). Par exemple, si la propriété RowSource contient la liste « rouge ; Vert ; Bleu ; « Jaune » et la propriété ColumnCount est paramétrée sur 2, la première ligne de la liste ou zone de liste contiendra « Rouge » dans la première colonne et « Vert » dans la deuxième colonne. La deuxième ligne contiendra « Blue » dans la première colonne et « Jaune » dans la deuxième colonne.

Utilisez la propriété ColumnWidths pour définir la largeur des colonnes affichées dans le contrôle ou pour masquer les colonnes.

Exemple

L'exemple suivant utilise les propriétés Colonne et NbreColonnes pour imprimer les valeurs d'une sélection dans la zone de liste.

Public Sub Read_ListBox() 
 
    Dim intNumColumns As Integer 
    Dim intI As Integer 
    Dim frmCust As Form 
 
    Set frmCust = Forms!frmCustomers 
    If frmCust!lstCustomerNames.ItemsSelected.Count > 0 Then 
 
        ' Any selection? 
        intNumColumns = frmCust!lstCustomerNames.ColumnCount 
        Debug.Print "The list box contains "; intNumColumns; _ 
            IIf(intNumColumns = 1, " column", " columns"); _ 
             " of data." 
 
        Debug.Print "The current selection contains:" 
        For intI = 0 To intNumColumns - 1 
            ' Print column data. 
            Debug.Print frmCust!lstCustomerNames.Column(intI) 
        Next intI 
    Else 
        Debug.Print "You haven't selected an entry in the " _ 
            & "list box." 
    End If 
 
    Set frmCust = Nothing 
 
End Sub

L’exemple suivant montre comment créer une zone de liste modifiable liée à une colonne tout en affichant une autre. Si vous choisissez la valeur 2 pour la propriété ColumnCount, cela indique que la zone de liste modifiable cboDept affichera les deux premières colonnes de la source de données spécifiée par la propriétéRowSource. Si vous choisissez la valeur 1 pour la propriété BoundColumn, cela indique que la valeur stockée dans la première colonne est renvoyée quand vous inspectez la valeur de la zone de liste modifiable.

La propriété ColumnWidths indique la largeur des deux colonnes. En définissant la largeur de la première colonne sur 0in., la première colonne n'est pas affichée dans la zone de liste modifiable.

Private Sub cboDept_Enter()
    With cboDept
        .RowSource = "SELECT * FROM tblDepartments ORDER BY Department"
        .ColumnCount = 2
        .BoundColumn = 1
        .ColumnWidths = "0in.;1in."
    End With
End Sub

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.