Requete SQL sous VBA [Résolu]

Messages postés
26
Date d'inscription
lundi 31 juillet 2006
Statut
Membre
Dernière intervention
18 octobre 2006
- - Dernière réponse : cs_safoua
Messages postés
5
Date d'inscription
lundi 8 mai 2006
Statut
Membre
Dernière intervention
10 août 2006
- 12 août 2006 à 19:52
Bonjour,

je suis un grand débutant en ADO.net et en VB  aussi d'ailleurs, et j'ai testé le code d'un tutoriel mais il me le refuse au niveau de la requete SQL :

Public Sub SeConnecter()



Dim con As ADODB.Connection
Set con = New ADODB.Connection



con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\leculeed\Desktop\Macro Panier Stat\bd1.mdb "



con.Open
  
End Sub




La la connexion se fait sans problèmes



Module4.SeConnecter

  Dim rs As ADODB.Recordset
  Set rs = New Recordset

   rs.Open " select Nom from Personnes, con, AdopenDynamic, AdLockOptimistic"


Mais il n'arrive pas à lancer la requête SQL a ce niveau




   While rs.EOF = False
  
      UserForm3.ComboBox1.AddItem rs!Nom
   Wend

    rs.Close
    con.Close

Set rs = Nothing
Set con = Nothing

End Sub


Pourtant j'ai créé la requête sous Access et elle marche très bien.
J'ai bien ajouté les librairies pour ADO et pour Recordset.

Pouvez vous me dire d'ou peut provenir mon erreur ?

Merci pour les réponses,

Neimad58
Afficher la suite 

8 réponses

Meilleure réponse
Messages postés
940
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
3 février 2011
5
3
Merci
ARGGGGGGGGGGGGGGGG!!!!!!!!!!!!!

arrêtez de m'appeler tbbuim1, c TBBUIM!!!! pas tbbuim1, vous voyez pas la signature en gros????

lol je pense avoir trouvé ton erreur, il faut que tu déclares la variable con, en dehors de la sub, sinon tu ne peux pas l'utiliser ailleurs!
Mets la en public dans un module, ou bien sors le dim de la sub... c tout con

TBBUIM

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 138 internautes nous ont dit merci ce mois-ci

Commenter la réponse de tbbuim1
Messages postés
940
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
3 février 2011
5
0
Merci
Essayes plutot d'écrire comme ça:

sql = "Select * from personnes;"
rs.open sql, con,1,2
Combobox.additem rs.fields("Nom")

Attention, si t'as un champ qui a un nom vide, il y aurau une erreur, donc fait un test si le nom n'est pas vide avant de le mettre dans ton combobox...
TBBUIM
Commenter la réponse de tbbuim1
Messages postés
72
Date d'inscription
mardi 25 juillet 2006
Statut
Membre
Dernière intervention
2 mai 2007
0
Merci
Ne dois tu pas ajouter:

While rs.EOF = False

    UserForm3.ComboBox1.AddItem rs!Nom
    rs.MoveNext
Wend


dans ta boucle ? A+


Sifflet
Commenter la réponse de sifflet_
Messages postés
26
Date d'inscription
lundi 31 juillet 2006
Statut
Membre
Dernière intervention
18 octobre 2006
0
Merci
Merci sifflet effectivement je l'avais oublié mais je me penchais deja sur la requete qu il ne veut pas lancer... (je fais dans l'ordre quoi ;) )

Je viens d'essayer ton morceau de code tbbuim1 et encore une fois le rs.Open ne passe pas...
Je commence à me demander si ca ne vient pas de rs.Open lui même, mais j'ai bien un petit signet qui m'indique ce qu'il faut préciser quand je le rempli donc ca m'etonne un peu.
J'ai mis la bibliotheque Microsoft ActiveX Data Objects 2.5 Library ET Microsoft ActiveX Data Objects Recordset 2.8 Library, est ce que je dois en choisir d'autre pour que le rs.Open marche ?

Merci pour vos réponses en tout cas.

(Sinon je me demandais s'il n'y avait pas un morceau de code quelque part qui fait un peu la même chose que moi pour que je puisse m'en inspirer...)

Neimad58
Commenter la réponse de cs_neimad58
Messages postés
72
Date d'inscription
mardi 25 juillet 2006
Statut
Membre
Dernière intervention
2 mai 2007
0
Merci
j'ai déjà fait ce qui était à mon niveau :-)


Je ne peux malheureusement pas t'aider pour la suite !

Bon courage!


Sifflet
Commenter la réponse de sifflet_
Messages postés
26
Date d'inscription
lundi 31 juillet 2006
Statut
Membre
Dernière intervention
18 octobre 2006
0
Merci
C'est clair tu as trop raison !!! Chu un peu bête moi des fois


Ayé ma requéte toute moisie marche !!! Merci merci merci merciTBBUIM (c'est mieux comme ca ?), ca commencait a faire un peu long pour un truc qui paraissait tout "con"

Merci Sifflet aussi qui a au moins lu mon code pour chopper une erreur pour laquelle j'etais capable de poster un autre message

Neimad58
Commenter la réponse de cs_neimad58
Messages postés
72
Date d'inscription
mardi 25 juillet 2006
Statut
Membre
Dernière intervention
2 mai 2007
0
Merci
Moi, je me fais chaque fois avoir avec le MoveNext !!


Mais quand, c'est toi qui fait le code tu ne vois jamais ça, par contre en lisant celui d'un autre ça m'a sauté aux yeux...


A+

Sifflet
Commenter la réponse de sifflet_
Messages postés
5
Date d'inscription
lundi 8 mai 2006
Statut
Membre
Dernière intervention
10 août 2006
0
Merci
salut!
svp connaissez vous pourquoi après le fermeture d'une application vb access qd on la réouvre il ya suppression de certaines lignes de la base de donnée ?
merci
Commenter la réponse de cs_safoua