[ADO] recherche dans une BdD access en VBA excel

[Résolu]
Signaler
Messages postés
38
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
25 février 2015
-
Messages postés
381
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
5 septembre 2010
-
Bonjour,


je souhaite faire une recherche dans une table de ma BdD access, mais ma requete ne fonctionne pas. Si je recherche une valeur numérique, pas de problème, mais si je recherche une variable contenant cette valeur numérique ça ne fonctionne pas. je ne sais pas comment faire.
voici mon code :


sql = "SELECT T_table.champ FROM T_table WHERE (T_table.champ=activesheet.cells(NumLigne,5));"


Set rs = Cnn1.Execute(sql)


si je met par exemple 5 au lieu de activesheet.cells(NumLigne,5) dans la requete SQL, no probleme, mais sinon probleme, savez vous comment faire ??


Merci d'avance !

7 réponses

Messages postés
381
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
5 septembre 2010
3
Attend j'ai compris :
sql = "SELECT T_table.champ FROM T_table WHERE (T_table.champ=" & activesheet.cells(NumLigne,5) & ");"

 Fiko ;-)

La reponse vous convient pensez > Accepter <
<hr />
Messages postés
381
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
5 septembre 2010
3
Salut,
Que contient ta cellule activesheet.cells(NumLigne,5).
Ou plus complètement : que contient ta variable sql juste avant l'éxécution

 Fiko ;-)

La reponse vous convient pensez > Accepter <
<hr />
Messages postés
381
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
5 septembre 2010
3
Une variable entre guillemet n'est pas une variable mais une chaine de caractère

 Fiko ;-)

La reponse vous convient pensez > Accepter <
<hr />
Messages postés
38
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
25 février 2015

yes! ca marche bien, merci Fiko.
mais maintenant, dans mon code j'ai besoin de faire la requete sur 2 champs de la table :

sql = "SELECT T_table.champ1,T_table.champ2 FROM T_table WHERE (T_table.champ1=activesheet.cells(NumLigne,5)) AND (T_table.champ2=activesheet.cells(NumLigne,4));"

je galère un peu avec les guillemets.
Sais tu comment faire ??
Merci de m'aider! :-)
Messages postés
38
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
25 février 2015

Ah non, en fait c'est bon, j'ai pigé le truc. merci beaucoup :D
Messages postés
381
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
5 septembre 2010
3
Le principe des concaténations en vb :
Dim strDeux as string
Dim strTrois as string
Dim strChaine as string

strDeux="2"
strTrois="3"
strChaine="J'ai un " & strDeux & " et un " & strTrois "."
' strChaine retourne : J'ai un 2 et un 3.

Pour ton problème, c'est le même principe :
sql = "SELECT T_table.champ1,T_table.champ2 FROM T_table WHERE
(T_table.champ1=" & activesheet.cells(NumLigne,5) & ") AND
(T_table.champ2=" & activesheet.cells(NumLigne,4)& ");"

 Fiko ;-)

La reponse vous convient pensez > Accepter <
<hr />
Messages postés
381
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
5 septembre 2010
3
post croisé dsl

 Fiko ;-)

La reponse vous convient pensez > Accepter <
<hr />