Remplir une listbox avec bdd access

da_chocapic Messages postés 43 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 27 juin 2006 - 22 juin 2006 à 11:49
Stag2 Messages postés 26 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 22 juillet 2008 - 2 juil. 2008 à 16:17
Bonjour,je cherche un moyen de remplir une listbox par le contenu dune de mes tables access.

J'ai deja fait avec une textbox,il suffit de selectionner la datasource puis le datafield,mais apparement avec une listbox ca ne fonctionne pas ?

J'aimerai une liste de nom, et pouvoir en selectionner un dans ma listbox.

Merci de votre aide.

11 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
22 juin 2006 à 12:33
Salut,

regarde ma source    ICI    j'ai une requête pour le faire.

D'ailleurs si ma source t'interresse pour ce qu'elle fait (trieur de doublons) je ferai une MAJ demain dans la nuit avec un peu plus de fonctionnalités.



















@++
<?xml:namespace prefix v ns "urn:schemas-microsoft-com:vml" /?><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype>

  Mortalino 





Le Mystérieux Chevalier "Provençal, le Gaulois"
N'oubliez pas de lire le 
règlement
0
da_chocapic Messages postés 43 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 27 juin 2006
22 juin 2006 à 14:20
Salut,
J'ai telechargé ta source,malheureusement je ne trouve pas le passage correspondant a mon probleme ? Je suis vraiment debutant et  j'y connais pas grand chose.
D'autant plus que ton programme ne fonctionne pas chez moi, il me manque le composant exel apparement ?

Merci de ton aide.
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
22 juin 2006 à 17:15
Alors essaie ça :

Dim NomBase As String, sql As String
Dim Db As DataBase
Dim Rs As Recordset

NomBase = "c:/chemin/nom de ta base.mdb"

' il faut référencer la base access, créer la requête et lancer la recherche Recordset
Set Db = DBEngine.Workspaces(0).OpenDatabase(NomBase)
sql = "SELECT NomProduit FROM ListeProduit"   
'remplace ListeProduit par le nom de ta table et NomProduit par le nom du champs

Set Rs = Db.OpenRecordset(sql)
Rs.MoveFirst

Do While Rs.EOF = False
Me.lbxListeInitiale.AddItem Rs!NomProduit    'remplace NomProduit par le nom du champs
Rs.MoveNext
Loop

___________________________________

Sinon, pour mon Prog, à la limite attends ce WE la MAJ. Pour info, je fais référence à
MicroSoft Excel 11.0 Objects Library
MS DAO 3.6 (Access)

MS CommonContrôls SP5
MS CommonContrôls SP6

@++
<?xml:namespace prefix v ns "urn:schemas-microsoft-com:vml" /?><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></v:path><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype>  Mortalino 

Le Mystérieux Chevalier "Provençal, le Gaulois"
N'oubliez pas de lire le règlement
0
da_chocapic Messages postés 43 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 27 juin 2006
23 juin 2006 à 09:41
Ca semble bien vouloir fonctionner,mais vb me demande de selectionner la " source de données " .

http://img138.imageshack.us/my.php?image=pouet5ik.jpg

kezako ce truc ?

Merci encore une fois pour ton aide precieuse.
0

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

Posez votre question
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
23 juin 2006 à 23:49
Honnêtement je ne sais pas. VB ne me la pas proposé !
Et pourtant ta syntaxe est bonne. A la limite essai de faire ce qu'il te dit et peut-être qu'à la prochaine exécution cela ne te sera plus demandé !

PS : MAJ faite sur la source, si ca t'interresse...

@++

--Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"
N'oubliez pas de lire le règlement !
0
da_chocapic Messages postés 43 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 27 juin 2006
26 juin 2006 à 10:43
Ben justement, je n'arrive pas a faire ce qu"il me dit :s .
Je selectionne des trucs,des machins,sans savoir a quoi ca correspond,mais ca n'a pas l'air de marcher.

Ta source m'interesse,merci a toi.

++
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
26 juin 2006 à 11:06
Apparemment il te demande de connecter un base de donnée pour savoir quel pilote installer. Bizarre.
1/ vérifie les références : MS DAO 3.6 (Access)        doit être coché
2/ tente avec la fenêtre qui s'est ouverte d'ouvrir ton fichier MBD, enregistre et réouvre la source

Je vois rien d'autre. désolé

@++

  --Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"
N'oubliez pas de lire le règlement !
0
da_chocapic Messages postés 43 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 27 juin 2006
26 juin 2006 à 11:52
La reference est cochée pourtant :/

J'ai trouvé ce code :

  Dim Requete As DAO.Recordset

  Set Requete = db.OpenRecordset("SELECT Champ FROM Table" )

  Requete.MoveFirst

 
  Do While Not Requete.EOF

    Liste.AddItem (Requete![Champ])

    Requete.MoveNext

  Loop

   
  Requete.Close

mais je ne le comprend pas, qqun peut m'expliquer  ?           
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
26 juin 2006 à 12:03
Sans problème :

Dim Requete As DAO.Recordset  
  Set Requete = db.OpenRecordset("SELECT Champ FROM Table" ) 
' Ouvre le Recordset de ta Base de données avec la requête
  Requete.MoveFirst 
' se place au 1er enregistrement
 
  Do While Not Requete.EOF 
tant qu'on est pas au dernier enregistrement
    Liste.AddItem (Requete![Champ]) 
' on ajoute l'items (résultat de la requête) dans la ListBox
    Requete.MoveNext 
' On passe au résultat suivant
  Loop
   
  Requete.Close
on ferme la requête liée à la DataBase

@++
0
da_chocapic Messages postés 43 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 27 juin 2006
27 juin 2006 à 15:18
Finalement, j'ai trouvé grace a cette page : http://www.webprofesseur.com/vb6/11188N9.HTM

Merci quand meme a toi :)
0
Stag2 Messages postés 26 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 22 juillet 2008
2 juil. 2008 à 16:17
Bonjour,
J'ai le même problème que da_chocapic. J'ai essayé ton code, mais dans:

"Do While Rs.EOF = False
Me.lbxListeInitiale.AddItem Rs!NomProduit    'remplace NomProduit par le nom du champs
Rs.MoveNext
Loop"

Listeinitiale pose problème "méthod or data member not found". Il s'agit d'une instruction ou il faut remplacer par un terme de la base de donnée ?

Merci d'avance
0
Rejoignez-nous