cs_Cassidy
Messages postés39Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention11 mai 2005
-
10 juil. 2003 à 15:47
cs_KILIMANJARO
Messages postés8Date d'inscriptiondimanche 26 octobre 2003StatutMembreDernière intervention15 août 2005
-
15 août 2005 à 08:44
Voila, j'ai une petite question pour vous :
Comment diable fait on pour remplir une listbox, en ajoutant les données lignes par lignes, dans un formulaire access en codant en VBA
Le petits malins qui me repondent :
1 - "t'a qu'a mettre dans la propriété "contenu" de ta listbox un requete SQL
2 - t'a qu'a ecrire rowsource = "un autre requete SQL"
3 - Et surtout ceux qui me parlent de ADDITEM (on est en VBA ici pas en VB et additem ne MARCHE PAS !!!!!)
ont tous perdu
Voila, j'espere que quelqu'un pourra m'apporter la solution
Sinon, j'utiliserai une table temporaire pour stocker mes données et je remplirai ma listbox a partir de cette table mais si je pouvais eviter ça serais pas plus mal
cs_Cassidy
Messages postés39Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention11 mai 2005 11 juil. 2003 à 09:47
Merci, c'est sympa d'avoir repondu mais c'est un peu a cote :
c'est pas super dynamique
ça rentre un peu dans le cadre de
1 - "t'a qu'a mettre dans la propriété "contenu" de ta listbox un requete SQL
sauf que la c des valeurs
je vais m'expliquer un peu plus alors :
j'ai un combobox qui contient des noms de champ en cliquant sur un bouton "Ajout" je voudrais passer le nom de champ selectionné dans ma listbox
et ainsi de suite pour remplir ma listbox avec certains (pas tous donc) champs qui auront été selectionnés par l'utilisateur dans la combobox
jusque la j'arrive a le faire pour une selection (c klr que c'est pas ce qu'il y a de plus dur) en code ça donne
---------------------------------------
dim VFamille as string
on aura compris que
cmb_Famille = ma combobox
lst_Famille = Ma listbox
Le probleme avec ce code c'est que je traite qu'un ligne
il faudrais que je puisse rajouter des ligne
En Vb on peu utiliser le "ADDITEM"
SAUF qu'il n'existe pas dans la liste des propriété des listbox sous VBA pour ACCESS
VOila
donc celui qui me dis comment rajouter des ligne dans ma listbox à Gagner
Merci
A + Cass
en gros pour avoir plusieur ligne dans la listbox
on utilise bien rowsource:
MaListBox.RowSource = "Titi;Tata;Toto"
Donc en gros je vais devoir faire une chtit concatenation de chaine
le code qui marche donne :
With lst_Famille
'boucle de parcours de la listBox
For I = 0 To .ListCount Step 1
If Trim(lst_Famille.Column(0, I)) <> "" Then
TempString = Trim(lst_Famille.Column(0, I))
VFamille = VFamille & ";" & TempString
End If
Next I
End With
'Ajout de la ligne issue de la combobox
TempString = cmb_Famille.Value
If VFamille <> "" Then
VFamille = VFamille & ";" & TempString
Else
VFamille = TempString
End If
'Affichage dans la listbox
lst_Famille.RowSource = VFamille
cs_KILIMANJARO
Messages postés8Date d'inscriptiondimanche 26 octobre 2003StatutMembreDernière intervention15 août 2005 15 août 2005 à 08:44
Il y a une solution un peu plus propre qui passe par l'utilisation d'un tableau
Exemple :
'LISTE_SELECTION est une listbox a deux colonnes
Dim qdf As DAO.QueryDef
Dim i As Integer
Dim laliste() As String
Dim Matable As DAO.Recordset
Dim mabd As Database
Set mabd = CurrentDb
Set Matable = mabd.OpenRecordset("STAT_COMME_ECRAN", 2)
i = Matable.RecordCount
ReDim laliste(i, 1)
If i > 0 Then
i = 0
Matable.MoveFirst
While Matable.EOF = False
laliste(i, 0) = Matable.Fields(0)
laliste(i, 1) = Matable.Fields(1)
i = i + 1
Matable.MoveNext
Wend
Matable.Close
Set mabd = Nothing
Me.LISTE_SELECTION.List() = laliste
End If