Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/10/2011, 16h35   #1
Invité régulier
 
Homme
Inscription : octobre 2011
Messages : 20
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : octobre 2011
Messages : 20
Points : 8
Points : 8
Par défaut Remplir plusieurs colonnes d'une ComboBox

Bonjour,

Ça fait moment que je creuse, mais à force d'avoir la tête dedans, on voit même plus les évidences...

J'ai une requête qui va me chercher un Id et un Nom associé dans un table.
J'aimerai remplir ma ComboBox à partir de ma requête.

Voilà l'exemple :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub Form_Open(Cancel As Integer)
    Dim base As DAO.Database
    Dim req As DAO.Recordset
    Dim sql As String

    Set base = CurrentDb()

    sql = "SELECT Id, Nom FROM Plante ORDER BY 2;"
    Set req = base.OpenRecordset(sql)
    With req
        If .RecordCount > 0 Then
            .MoveFirst
            Do Until .EOF
                Me.CmbBox.AddItem !Id, 0
                ??
                .MoveNext
            Loop
        End If
    End With
    
    Set base = Nothing
    Set req = Nothing
End Sub
Ce code me permet de remplir la ComboBox avec les Id, mais je n'arrive pas à insérer les noms correspondant.

En cherchant, j'ai trouvé
Code :
Me.CmbBox.Column(2, 0) = !Nom
mais cette ligne me fait "Erreur d'exécution '424' Objet requis".


J'ai besoin de vos lumières...
Merci d'avance !
Tevsox est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 17h12   #2
Membre Expert
 
Homme Jacques Petiot
Indépendant développeur et formateur
Inscription : octobre 2007
Messages : 891
Détails du profil
Informations personnelles :
Nom : Homme Jacques Petiot
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Indépendant développeur et formateur
Secteur : Conseil

Informations forums :
Inscription : octobre 2007
Messages : 891
Points : 1 333
Points : 1 333
Hello
j'utilise simplement le "rowsource" par exemple
Code :
    List_Moyens.RowSource = "liste_famille"
pour affecter la requête liste_famille qui est déjà enregistrée
ou bien
Code :
    Colorant.RowSource = "SELECT Couleur, Ref_col, N°colorant FROM Matières INNER JOIN (Colorants INNER JOIN Corespond_mat_col ON Colorants.N°colorant = Corespond_mat_col.N°col) ON Matières.N°matière = Corespond_mat_col.N°mat WHERE N°matière =" & Matière & ";"
pour que le contenu de la combobox dépende d'une textbox, ici Matière
ou bien plus simple, pour remettre à défaut
Code :
Colorant.RowSource = "SELECT Couleur, Ref_col, N°colorant FROM Colorants;"
voir encore
Code :
Colorant.RowSource = Text_Sql
si j'ai préparé un SQL un peu lourd en amont

En espérant avoir aidé
__________________
-------------------Simplifi----------comme si tout était simple--------
Simplifi est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 18/10/2011, 08h09   #3
Invité régulier
 
Homme
Inscription : octobre 2011
Messages : 20
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : octobre 2011
Messages : 20
Points : 8
Points : 8
Bonjour,

Merci de ta réponse hyper rapide
Effectivement, pourquoi faire simple quand on a décidé de se prendre la tête... !

Je vais essayer la méthode avec rowsource de ce pas !
Tevsox est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2011, 09h30   #4
Invité régulier
 
Homme
Inscription : octobre 2011
Messages : 20
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : octobre 2011
Messages : 20
Points : 8
Points : 8
C'est résolu.
Ça valait vraiment pas le cout que je me prenne la tête là-dessus hier !

Merci Simplifi
Tevsox est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h12.


 
 
 
 
Partenaires

Hébergement Web