audreyOM
Messages postés35Date d'inscriptionlundi 18 février 2008StatutMembreDernière intervention 7 avril 2008
-
13 mars 2008 à 14:06
audreyOM
Messages postés35Date d'inscriptionlundi 18 février 2008StatutMembreDernière intervention 7 avril 2008
-
13 mars 2008 à 16:06
bonjour à tous,
voili voilou, j'ai un petit soucis pour charger mon listview à partir de ma BDD. je fais ma requête permettant de récupérer ce qu'il faut mais je n'arrive pas à trouver la bonne synthaxe pour l'associer à ma listview.
voici mon code :Function listview1_chargement()
Dim RSCONSO4 As Recordset
Dim Requete As String
Set BDDCONSO = OpenDatabase(Workbooks("AutoBEv2.xls").Path & "/BDD Access/BDD CONSO.mdb")
Requete = "SELECT * FROM CONSO"
Set RSCONSO4 = BDDCONSO.OpenRecordset(Requete)
While Not RSCONSO4.EOF
'récupération des valeurs
'UserForm1.ListView1.Add (RSCONSO4!appareil ListItem(1) & RSCONSO4!Install ListItem(2) & RSCONSO4!Cal = ListItem(3))
'UserForm1.ListView1.ListItems(1).ListSubItems.Add RSCONSO4!appareil
'UserForm1.ListView1.ListItems(1).ListSubItems.Add ( 1,1,RSCONSO4!appareil,,,) As ListSubItem)
RSCONSO4.MoveNext
Wend
BDDCONSO.Close
End Function
mon problème vient donc au niveau de la récupération des valeurs. j'ai testé différent truc mais il me manque quelque chose pour avoir une bonne syntaxe et sur le net ca m'a pas trop trop éclairé.
si quelqu'un peut m'aider se sera avec grand plaisir que je continuerai mon initiation au VBA !
jimy neutron
Messages postés491Date d'inscriptionmercredi 1 février 2006StatutMembreDernière intervention18 novembre 20161 13 mars 2008 à 15:39
Index doit commencer à 1 et pas à 0
ListItems correspond à la ligne du listview
SubItems correspond à la cellule de cette même ligne avec l'index de la colonne entre( ) en partant de zero: ListItems(3).SubItems(1)= cellule de la 3ieme ligne / 2ieme colonne.
Autres choses:
Dans ListView.ListItems(Index).SubItems(1) = Rs.Fields("Type") ,
Rs.Fields("Type")
, correspond à la colonnes ou champs de la table Access que tu lis, et qui s'appelle donc "Type",dans mon appli.
Si ta table Access a pour intitulés de champs (colonnes) : Nom Prénom Age ...
Tu liras cette table avec:
jimy neutron
Messages postés491Date d'inscriptionmercredi 1 février 2006StatutMembreDernière intervention18 novembre 20161 13 mars 2008 à 14:29
Salut
Voici un de mes code qui fonctionne bien, tu devra l'adapter, mais tu auras le principal. Dans ce cas precis, la base ACCESS est dèja ouverte, genre:
Set DBase = OpenDatabase(Path & "AccessBase.mdb")
Puis
Public Function Read_Access()
Dim Index As Integer
ListView.Sorted = False
ListView.ListItems.Clear
Index = 1
Set DBase = OpenDatabase(Path & "AccessBase.mdb")
Sql = "select * from Moteur"
Set Rs = DBase.OpenRecordset(Sql, dbOpenDynaset)
' Remplissage du listView
While Not Rs.EOF
' Ecriture dans le LV de la recherche
audreyOM
Messages postés35Date d'inscriptionlundi 18 février 2008StatutMembreDernière intervention 7 avril 2008 13 mars 2008 à 14:38
ah oui je vois !
carément !
ben je vais faire els modifs qui s'imposent sur mon code !! j'espère que ca marchera !
par contre j'ai une petite question ton listview pour nommer les colonne tu as été dans la propriété personnalisé et entré les valeurs? je te pose cette question car pour l'instant je n'ai aps encore vu de colonne à mon listview est ce parcequ'il était vide ?
jimy neutron
Messages postés491Date d'inscriptionmercredi 1 février 2006StatutMembreDernière intervention18 novembre 20161 13 mars 2008 à 15:15
N'oubli pas non plus, si tu souhaite voir les intitulés de colonnes, de mettre la propriété 'View' du listView sur '3-LvWReport', ils ne seront visibles qu'en Run.
audreyOM
Messages postés35Date d'inscriptionlundi 18 février 2008StatutMembreDernière intervention 7 avril 2008 13 mars 2008 à 15:21
ok !!
ben c'est exacteemtn ce qui me manquais !!! pour la création du listview c'est bon il me manquait juste ce fameaux 3-LvWreport !! merci !
parfois il manque vraiment aps grand chose et on passe des heures dessus lol !
par contre j'ai une autre erreur pour le chargement listview pour tout ce qui est récupération de valeur style :
ListView.ListItems(Index).SubItems(1) = Rs.Fields("Type")
le debeggeur me met : index out of bound , quel genre d'erreur cela signifie ?