Requête SQL sous Excel (VBA)

Fermé
YATA - 22 sept. 2009 à 10:12
 YATA - 25 sept. 2009 à 08:46
Bonjour à tous,
Voilà mon problème,
Je travail sur une DB sur une gestion d'article via access.
J'ai un code en vba qui me permet de me connecter à ma DB et de lancer ma requête existante sur access.
tout fonctionne jusqu'à la avec une boucle qui me permet d'afficher les résultats sur une feuille Excel.

je voudrais optimiser ma requête en incluant dans ma clause where une liste darticle.
J'ai ma liste d'article sur une feuille excel et je voudrais donc que dans le résultat de ma requête récupérer que les articles existant dans cette liste.
mais ma liste peut comprendre 300 articles sur 8000 existants dans ma base

je viens à vous pour m'aider à obtenir une requête performante et optimiser

si j'ai bien compris ca devrait donner ceci
Query = "Select * From VérifStocks Where NumArticle= '" & Worksheets(1).Range("C10").Value & " ' "
mais je me vois écrire '" & Worksheets(1).Range("**").Value & " ' " 300 fois derriere ma requête
donc une boucle serrait plus adapter mais je ne sais pas si s'est possible..

Merci pour l'attention que vous porterez à ce sujet
A voir également:

4 réponses

personne pour m'aider ?
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
22 sept. 2009 à 12:12
Bonjour,

Je ne sais pas si une requête avec une clause WHERE de 300 arguments passera.

Mais rien n'empêche de passer 300 requêtes de suite à une base:

For lig = 10 to 300
query = "SELECT * FROM VérifStocks WHERE NumArticles = & Worksheets(1).Range("C" & lig).Value & " ' "
....
Next i

;o)
0
Bonjour polux31,

Comme toujours je ne suis jamais décus de ton aide !
Pour ce qui de la boucle ca marche ! mais c'est long .... long :)
je pense pouvoir contourner ce probleme !
vu que ma liste se créer à travers une macro je la récupére dans une feuille excel puis en suite je l'ajoute en temps que table sur acces et j'établis ma requête en fonction des article que se trouve dans cette nouvelle table!

mais je cherche le moyens d automatiser lajout de cette liste dans access en temps que table !

je ne sais pas si je suis bien clair !
mais si tu as une idée, je suis prenneur :-)
0
Up 4 Polux31 :-)
0