Remplir une listview

Signaler
Messages postés
23
Date d'inscription
lundi 28 juillet 2003
Statut
Membre
Dernière intervention
5 décembre 2005
-
Messages postés
23
Date d'inscription
lundi 28 juillet 2003
Statut
Membre
Dernière intervention
5 décembre 2005
-
Je n arrive pas a remplir la listview j'arrive a recuperer les nom de colone mais je n arrive pas a inserer les valeur de ma requete.

Private Sub Form_Load()
Dim Ct As ADODB.Connection
Dim rc As ADODB.Recordset
Dim Base As String
Dim ItemX As ListItem
Dim l_oListItem As ListItem
Dim i As Integer
Dim j As Integer
Dim temp As String
Dim Rsql As String



Set Ct = New ADODB.Connection
Ct.Provider = "Microsoft OLE DB Provider For SQL Server"
Ct.ConnectionString = "Provider=MSDASQL;DSN=Homer DSN;UID=Login;PWD=Mot_de_passe;"
Ct.Open


Rsql = "requete"


Set rc = New ADODB.Recordset


rc.Open Rsql, Ct, adOpenDynamic, adLockOptimistic



ListView1.ListItems.Clear
ListView1.GridLines = True ' pour afficher les séparations entre lignes et colonnes
ListView1.FullRowSelect = True ' pour la sélection de la ligne entière
ListView1.View = lvwReport ' affichage détails
ListView1.LabelEdit = lvwManual


' Nom des colonnes
For Each fld In rc.Fields
ListView1.ColumnHeaders.Add , , fld.Name, ListView1.Width / rc.Fields.Count
ListView1.ColumnHeaders(1).Width = 900


Next

Je suis bloquer ici .
Merci pour les reponse

3 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Salut
Le début semble correct.
Une fois que tu as ajouté autant de colonnes (*) que de champs dans ton recordset, tu n'as plus qu'à insérer tes données dans une autre boucle :

Dim xItem As ListItem
rc.MoveFirst
Do While Not rc.EOF
' Premier champ = Colonne principale
Set xItem = ListView1.ListItems.Add(, , rc.Fields(1).Value)
' Les SubItems = les champs qui restent
For r = 2 To rc.Fields.Count
xItem.SubItems(r - 1) = rc.Fields(r).Value
Next t
Set xItem = Nothing
rc.MoveNext
Loop

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
NB : Le SubItems(1) correspond à la 2eme colonne, la 1ere étant la colonne principale crée avec ListItems.Add

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
Messages postés
23
Date d'inscription
lundi 28 juillet 2003
Statut
Membre
Dernière intervention
5 décembre 2005

Merci mais Vb6 me fai une erreur lors de la compil "erreur d'exécution '13'; Type incompatible" sur la ligne

Set ItemX = ListView1.ListItems.Add(, , rc.Fields(1).Value)

je comprend pas pourkoi ca la syntaxe est corecte
j'ai aussi essayer
Set ItemX = ListView1.ListItems.Add(, , rc.Fields(0))
et
Set ItemX = ListView1.ListItems.Add(, , str(rc.Fields(0)))
et
Set ItemX = ListView1.ListItems.Add(, , cstr(rc.Fields(0)))

et ca fai toujour la meme erreur .
Si ca continue je vai m arracher les cheuveux