Lier un recordset a une ListBox

kipich
Messages postés
19
Date d'inscription
jeudi 15 avril 2004
Statut
Membre
Dernière intervention
9 août 2006
- 20 juil. 2006 à 17:13
tof008
Messages postés
695
Date d'inscription
jeudi 5 mai 2005
Statut
Membre
Dernière intervention
5 janvier 2010
- 21 juil. 2006 à 10:54
Bonjour,
J'aimerai savoir comment lier un recordset à une ListBox ?
Merci

6 réponses

mortalino
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
20 juil. 2006 à 17:21
Salut,

Ex. :

<small> Coloration syntaxique automatique </small>

Sub Exemple() 
    Dim Rs              As Recordset 
    Dim sql             As String 
    Dim NbNomProduits   As Integer 

lbxNomProduits.Clear 

NomBase =  App.Path & "\Nom fichier.mdb" ' admettons ici qu'il se 
' trouve dans le dossier de l'Application
If  Dir (NomBase) <> "" Then 

    Set db  = DBEngine.Workspaces(0).OpenDatabase(NomBase) 
sql = "SELECT NomDuChamps FROM NomDeLaTable" 'remplace les 2
' valeurs (NomDuChamps & NomDeLaTable)
    Set Rs = db.OpenRecordset(sql) 
        Rs.MoveFirst 

    Do While Rs.EOF = False 
        Me.TaListBox.AddItem Rs!NomDuChamps 'remplace NomDuChamps
        Rs.MoveNext 
    Loop 

    Set Rs = Nothing 
    db.Close 
Else 
    MsgBox "Le fichier Nom fichier.mdb n'est pas présent dans " _
            & App.Path, vbCritical, "ATTENTION" 
End If 

End Sub 

<small> Coloration syntaxique automatique </small>

@++

  Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"

Merci de prendre le temps de répondre à ce
sondage


Merci de prendre le temps de lire
le Règlement CS


    http://www.smileycentral.com/?partner=ZSzeb008_ZNxdm414YYFR
0
kipich
Messages postés
19
Date d'inscription
jeudi 15 avril 2004
Statut
Membre
Dernière intervention
9 août 2006

20 juil. 2006 à 17:25
Merci beaucoup mais ca ne maide pas bcp.
En effet :
1) j'ai plusieurs colonne a gérer et je n'arrive pas a ajouté dans diverse colonne
2) le clear ne marche pas en VBA
3)le filter sur un recordset normal ne marche pas ici, je sais pas pourquoi, et donc j'utilise un ADOBC.Recordset
0
mortalino
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
20 juil. 2006 à 17:31
Mais quels sont les noms de tes champs qui vont dans quelles colonnes ? (et de quelles BDD ? et de quelle Table ? )
Tu es donc en VBA, mais excel ou access ? (excel je suppose !)

C'est sûr que mon code ne t'aide pas mais j'ai pas de précisions sur ce que tu voudrais faire.

"Le clear" ne marche pas, bah non !
Par contre objet.Clear, ça ça "marche" !

@++

  Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"

Merci de prendre le temps de répondre à ce
sondage


Merci de prendre le temps de lire
le Règlement CS


    http://www.smileycentral.com/?partner=ZSzeb008_ZNxdm414YYFR
0
kipich
Messages postés
19
Date d'inscription
jeudi 15 avril 2004
Statut
Membre
Dernière intervention
9 août 2006

20 juil. 2006 à 17:58
Je suis en VBA Access.
Le recordset est rempli par un Open("unetable", CurrentProject.connection, ...)
Il contient 3 colonnes.
et ma liste aussi.

PS : pour le clear c'est bon, j'ai fait un liste.Rowsource=""
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tof008
Messages postés
695
Date d'inscription
jeudi 5 mai 2005
Statut
Membre
Dernière intervention
5 janvier 2010
33
21 juil. 2006 à 10:50
tu peux utiliser le code de mortalino en rajoutant l'index de tes colonnes pour y envoyer les données...

         (Si la réponse vous convient, appuyez sur réponse acceptée...).

                           Noubliez pas de lire le REGLEMENT 
0
tof008
Messages postés
695
Date d'inscription
jeudi 5 mai 2005
Statut
Membre
Dernière intervention
5 janvier 2010
33
21 juil. 2006 à 10:54
Tu peux faire comme ca:
Do While Rs.EOF = False 
        Me.listbox1.list(i,0).AddItem Rs!NomDuChamps        
       Rs.MoveNext 
i = i + 1
Wend

Tu trouveras d'autres exemples ici
++
         (Si la réponse vous convient, appuyez sur réponse acceptée...).

                           Noubliez pas de lire le REGLEMENT 
0