Comment afficher des données D'une BDD Access (Noms des clients) dans un ComboBo

Résolu
said394 Messages postés 62 Date d'inscription dimanche 10 janvier 2010 Statut Membre Dernière intervention 17 décembre 2018 - 25 janv. 2008 à 03:22
said394 Messages postés 62 Date d'inscription dimanche 10 janvier 2010 Statut Membre Dernière intervention 17 décembre 2018 - 25 janv. 2008 à 21:51
Salut tout le monde,

Voila je travail sur un programme et je veux utiliser un ComboBox, sauf que je sais pas comment afficher les données d'une BDD ACCESS dans ce ComboBox (pour faire le choix des noms des clients), j'ai bon essaié avec l'ADODC, j'ai effectuer les connexions mais rien ne fonctionne !

SVP Celui qui a la solution, qu'il me la donne, et je vous remerci d'avance pour votre attention. C'est sympa de votre part !!

A+

14 réponses

cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
25 janv. 2008 à 21:02
Re,

Voici, il te faut un module et une form avec un combobox(laisse le nom par défaut), tu n'as qu'a changer ce qu'il y a en rouge dans le code :

Dans un Module :

Option Explicit


' Rajouter la référence :
  'Menu Projet > Références et  cocher :
  '>> Microsoft ActiveX Data Objects 2.5 Library
'<E> Déclaration object connexion
     Public oCnxAdo As New ADODB.Connection
'<E> Déclaration object RecordSet
     Public oRstAdo As New ADODB.Recordset
'<E> Déclaration Variable pour le chemin de ta base
     Public sCheminBase As String
'<E> Déclaration Variable param requête
     Public sSql As String
    


Public Sub CloseDataBase()


'<E> Gestion d'erreur s'il y a
     On Error Resume Next
   
'<E> Libération ressource
     oRstAdo.Cancel
     oRstAdo.Close
     Set oRstAdo = Nothing
     oCnxAdo.Cancel
     oCnxAdo.Close
     Set oCnxAdo = Nothing


'<E> Netoyage gestionnaire d'erreur
     Err.Clear
    
End Sub




Public Function OpenDataBase() As Boolean


'<E> On ferme la base avant
     CloseDataBase
     
'<E> Définition du chemin de la base
'<E> Vois aussi avec ton aide en ligne : App.Path
     sCheminBase = "C:\GestionCommercial.Mdb"
     
'<E> Choix du fournisseur
     oCnxAdo.Provider = "Microsoft.jet.OLEDB.4.0"
 
'<E> Passage de valeur à la chaine de connexion
     oCnxAdo.ConnectionString = sCheminBase
    
'<E> Gestion erreur s'il y a
     On Error Resume Next
    
'<E> Ouvre la connection à la source
     oCnxAdo.Open
    
'<E> Traite l'erreur, avec résultat en conséquence
     OpenDataBase = True
     If Err.Number Then OpenDataBase = False: Err.Clear


End Function




Public Function RunSql() As Boolean


'<E> On ferme sans traiter erreur (s'il y en a une)
     On Error Resume Next
     oRstAdo.Cancel
     oRstAdo.Close
     Err.Clear


'<E> Execution requête
     oRstAdo.CursorLocation = adUseClient
     oRstAdo.Open sSql, oCnxAdo, adOpenDynamic, adLockPessimistic
    
    ' gestion d'erreur
     RunSql = True
     If Err.Number Then RunSql = False: Err.Clear
    
End Function

Dans ta Form :

Private Sub Form_Load()


'<E> Demande la connexion
     If Not OpenDataBase Then MsgBox "Connexion impossible !": Exit Sub
    
     '<E> Connexion réussie
          MsgBox "Connexion réussie !"
         
'<E> Préparation requête
     sSql = "Select * From TaTable"
    
     '<E> Lancement requête
          If Not RunSql Then MsgBox "Erreur, impossible de continuer !": Exit Sub
    
     '<E> Requête exécutée, s'il y a des enregistrements
     '    on rempli le ComboBox
          If oRstAdo.RecordCount > 0 Then
             '<E> Efface le ComboBox avant
                  Combo1.Clear
             While Not oRstAdo.EOF
               '<E> on rempli le ComboBox
                    Combo1.AddItem oRstAdo.Fields("TonChamp").Value
               '<E> Passe à l'enregistrement suivant
                    oRstAdo.MoveNext
             Wend
         End If
End Sub


A+
Exploreur

 Linux a un noyau, Windows un pépin
3
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
25 janv. 2008 à 09:09
Salut,

Essaye plutôt avec ADO et des requêts SQL...Regarde une de mes sources ici, cela devrait t'aider je pense...

A+
Exploreur

 Linux a un noyau, Windows un pépin
0
mouradj2006 Messages postés 42 Date d'inscription mardi 18 octobre 2005 Statut Membre Dernière intervention 25 juillet 2014
25 janv. 2008 à 10:43
dim bd as database
dim table as recordset
set bd =bdengine.open database(''cheman de votre base de donne'')
set table=bd.openrecordset("nom du table")
with table
.movefirst
while not .eof
combo1.additem(.fields(0))
.movenext
loop
0
said394 Messages postés 62 Date d'inscription dimanche 10 janvier 2010 Statut Membre Dernière intervention 17 décembre 2018
25 janv. 2008 à 12:53
Bonjour a vous j'ai essaié les deux méthodes mais rien ne marche, voila je vous envoie un imprimer d'écran système pour mieux comprendre mon problème merci pour votre compréhension encore ...
0

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

Posez votre question
said394 Messages postés 62 Date d'inscription dimanche 10 janvier 2010 Statut Membre Dernière intervention 17 décembre 2018
25 janv. 2008 à 13:30
bon puisque j'arrive pas a attaché l'image ici je vais vous donner un liens ou vous pouvez la  visualiser en toute sécurité :

http://said.notresavoir.com/ComboBox.JPG
0
mouradj2006 Messages postés 42 Date d'inscription mardi 18 octobre 2005 Statut Membre Dernière intervention 25 juillet 2014
25 janv. 2008 à 14:34
il faut que tu ajoute des reference  access  et dao 3.6 (menu projet references)
0
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
25 janv. 2008 à 14:36
Faut laisser tomber DAO....plus suivi par Microsofts et obselet !...Encore une fois, utilises plutôt ADO...!

A+
Exploreur

 Linux a un noyau, Windows un pépin
0
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
25 janv. 2008 à 14:40
said394 >> Je t'ai donné un lien sur une de mes source(parmis tant d'autre dans les BDD), qui devrait te montrer comment faire déjà la connexion avec la Bdd, l'utilisattion des requêtes SQL....Montre moi un bout de code de connexion à ta base, l'utilisattion d'une requête 'Select', et je t'aiderais à faire la suite...mais il faut  que tu fasses un début quand même....

A+
Exploreur

 Linux a un noyau, Windows un pépin
0
said394 Messages postés 62 Date d'inscription dimanche 10 janvier 2010 Statut Membre Dernière intervention 17 décembre 2018
25 janv. 2008 à 15:44
Cher Explorateur,
J'ai vue ton exemple, mais c'est pas vraiment ce que je veux, ce que je veux c'est inseret un ComboBox puis quand je clique sur la fléche il m'affiche une liste de nom de ville par exemple et moi je fait mon choix !
Cette liste de ville est stocké dans une base de données ACCESS !!!

Je pense que je suis assez claire comme ca

Merci pour votre aider a vous tous ...
0
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
25 janv. 2008 à 16:40
Re,

Bon, je vais te montrer que l'exemple que je donne tu peux faire ce que tu demandes....

Donne moi SVP, le nom de ta base, le nom de table, et quels champs tu veux afficher dans ton ComboBox......On ne vas pas rester 107 temps sur le topic.....  

A+
Exploreur

 Linux a un noyau, Windows un pépin
0
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
25 janv. 2008 à 16:40
Opus...107 ans ! lol

A+
Exploreur

 Linux a un noyau, Windows un pépin
0
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
25 janv. 2008 à 19:44
Re,

Alors, tu veuw que je t'aide ou pas ? Si oui, donne moi les informations que je te demande...Je peux pas faire mieux là...

A+
Exploreur

 Linux a un noyau, Windows un pépin
0
said394 Messages postés 62 Date d'inscription dimanche 10 janvier 2010 Statut Membre Dernière intervention 17 décembre 2018
25 janv. 2008 à 19:56
ok le nom de la base des données est : GestionCommercial
le nom de la table c'est : Clients
et pour la liste des champs que je veux afficher tu peux mettre trois nom de clients de ton choix !
0
said394 Messages postés 62 Date d'inscription dimanche 10 janvier 2010 Statut Membre Dernière intervention 17 décembre 2018
25 janv. 2008 à 21:51
merci je vais essaié ce code, c'est sympa de votre part Exploreur à bientôt ...
0