[ADO] recherche dans une BdD access en VBA excel

Résolu
annyong Messages postés 38 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 25 février 2015 - 1 juil. 2007 à 18:38
fiko81 Messages postés 381 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 5 septembre 2010 - 1 juil. 2007 à 19:21
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

fiko81 Messages postés 381 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 5 septembre 2010 3
1 juil. 2007 à 18:44
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 />
3
fiko81 Messages postés 381 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 5 septembre 2010 3
1 juil. 2007 à 18:43
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 />
0
fiko81 Messages postés 381 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 5 septembre 2010 3
1 juil. 2007 à 18:45
Une variable entre guillemet n'est pas une variable mais une chaine de caractère

 Fiko ;-)

La reponse vous convient pensez > Accepter <
<hr />
0
annyong Messages postés 38 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 25 février 2015
1 juil. 2007 à 19:12
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! :-)
0

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

Posez votre question
annyong Messages postés 38 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 25 février 2015
1 juil. 2007 à 19:19
Ah non, en fait c'est bon, j'ai pigé le truc. merci beaucoup :D
0
fiko81 Messages postés 381 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 5 septembre 2010 3
1 juil. 2007 à 19:20
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 />
0
fiko81 Messages postés 381 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 5 septembre 2010 3
1 juil. 2007 à 19:21
post croisé dsl

 Fiko ;-)

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