ADO ListView

cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - 15 avril 2005 à 17:03
kokise Messages postés 120 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 21 décembre 2017 - 15 août 2005 à 14:38
Salut...


Dans mon programme j'ai un ListView et j'ai mis 4 colonnes provenant de ma base de Données.

J'utilise ce code (donné par quelque du site (J'ai oublier son nom désolé)

'Do Until BD.EOF

ListView1.ListItems.Add = BD!Dossier 'Qu'est ce que je mets ici ?????
BD.MoveNext
Loop
BD.Close
Connection.Close


Set Connection = Nothing
Set BD = Nothing

Dans se code je voix que l'information de la Colonne Dossier. Mais il me reste 3 autres colonnes vides. Bon c'est évident j'ai mit que Dossier. Quel est le code pour pouvoir ajouter mes info dans les autres colonnes.

Dans mon listView j'appelle cette commande pour voir le Nom des différentes Colonnes.

Private Sub Init_ListView()
'Initialisation de la listview
ListView1.ColumnHeaders.Clear
ListView1.ListItems.Clear


ListView1.ColumnHeaders.Add , , "Dossier", ListView1.Width / 3 '0
ListView1.ColumnHeaders.Add , , "Date de Livraison", ListView1.Width / 3, lvwColumnCenter '1
ListView1.ColumnHeaders.Add , , "Référence", ListView1.Width / 3, lvwColumnCenter '2
ListView1.ColumnHeaders.Add , , "Remarque", ListView1.Width / 10
End Sub

Donc, comment est-il possible de faire apparaitre les données des 4 colonnes dans le list view????

J'ai fais quelques essais mais ca ne fonctionne pas.
Merci d'avance....

3 réponses

VisualBoinet Messages postés 64 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 14 juin 2007
15 avril 2005 à 17:50
Remplace ta ligne
ListView1.ListItems.Add = BD!Dossier par celles ci pour voir :




Dim ObjAdd As ListItem



Set ObjAdd = listview1.ListItems.Add(, "A" & intIndex, BD!Dossier
)
ObjAdd.SubItems(3) = BD!DateDeLivraison

ObjAdd.SubItems(1) = BD!Reference
ObjAdd.SubItems(2) = BD!Remarque

Set ObjAdd = Nothing

intIndex = intIndex + 1



et redit moi si ca fonctionne ca devrait le faire
0
VisualBoinet Messages postés 64 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 14 juin 2007
16 avril 2005 à 12:25
Tu ma send un essage : voici ce que je te suggère donc de faire :





Private Sub Form_Load()

'Type de bases de donnée pour la
connexion

Connection.Provider = "Microsoft.jet.OLEDB.4.0"

'Chemin de la base de donnée (APP.PATH permet de ce mettre dans le chemin


'courant la ou ce trouve le projet)

Connection.ConnectionString =
App.Path & "\dossier_actif.mdb"

'Ouverture de la
connection

Connection.Open

'Ouverture de la requête sql dans
le recordset

Dim ObjAdd As ListItem

Dim intIndex as integer



BD.Open "Select * from dossiers_actif", Connection,
adOpenDynamic, adLockOptimistic



Init_ListView



'
Pour faire apparaître de l'Info dans le ListView



While not
BD.EOF


Set ObjAdd =
ListView1.ListItems.Add(, "A" & intIndex,
BD!Dossier)

ObjAdd.SubItems(3) = BD!Livraison

ObjAdd.SubItems(1) =
BD!Reference

ObjAdd.SubItems(2) = BD!Remarque

Set ObjAdd =
Nothing

intIndex = intIndex + 1

BD.MoveNext



Wend

BD.Close

Connection.Close



Set
Connection = Nothing

Set BD = Nothing



End Sub





Private
Sub Init_ListView()



'Initialisation de la
listview

ListView1.View = lvwReport

ListView1.ColumnHeaders.Clear

ListView1.ListItems.Clear



ListView1.ColumnHeaders.Add
, , "Dossier", ListView1.Width / 3 '0

ListView1.ColumnHeaders.Add , ,
"Livraison", ListView1.Width / 3, lvwColumnCenter
'1

ListView1.ColumnHeaders.Add , , "Référence", ListView1.Width / 3,
lvwColumnCenter '2

ListView1.ColumnHeaders.Add , , "Remarque",
ListView1.Width / 10

End Sub



Et la ca devrait etre deja mieu :)



Si c'est pas ca je pense que je pourrais plus taider mais bon essaie toujours si l'erreur change et on verra :)

Bon courage
0
kokise Messages postés 120 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 21 décembre 2017
15 août 2005 à 14:38
salut,

J'ai essayé ton programme malheureusement ça me donne le même probléme
"type incompatible" dans la ligne qui contient le (set) et je sais pas
pourquoi?

Je vais te donner mon code et j'espère que tu me le résoudra



Dim s As ListItem



Private Sub Combsem_Click()

rs.Open "SELECT Enseignant.cin, Affectation.naff, Affectation.jour,
Affectation.codsem, Affectation.hrdeb, Affectation.hrfin,
Affectation.ng, Affectation.salle, Affectation.val FROM Enseignant
INNER JOIN Affectation ON Enseignant.cin = Affectation.cin WHERE
((Enseignant.cin'" & Txtcin & "') AND (Affectation.codsem
'" & Combsem & "') AND (Affectation.val=False))", Cn,
adOpenDynamic

rs.Requery

If rs.EOF = False Then

Do

Set s = ListV.ListItems.Add(, , rs("naff"))

s.SubItems(1) = rs("jour")

s.SubItems(2) = rs("hrdeb")

s.SubItems(3) = rs("hrfin")

s.SubItems(4) = rs("ng")

s.SubItems(5) = rs("salle")



rs.MoveNext

Loop Until rs.EOF

End If

Set rs = Nothing

End Sub

Le Combsem est un combo qui contient des semestre lorsque je
clique dedant ça doit m'afficher tout les affectation qui on eu lieu ce
semestre

merci d'avance
0
Rejoignez-nous