{Access} Requete parametree avec la clause where i

Fermé
Nabil - 23 juil. 2009 à 17:04
 dvphamid - 23 juil. 2009 à 23:18
Bonjour,
voila, je souhaite creer une requete parametree sous access qui permet d'envoyer la liste des elements dont les Id sont fournies sous forme d'une liste de valeurs, genre :
SELECT * FROM MaTable WHERE Identifiant IN (1 , 5 , 12, 54)
ce que je souhaite faire c'est quelque chose du genre
SELECT * FROM MaTable WHERE Identifiant IN (mon_parametre)
le seul moyen que je connais pour envoyer une liste d'identifiants dans un seul parametre c'est sous forme d'une chaine de caracteres (mon_parametre = '1 , 5 , 12, 54') et c'est la ou il y a le probleme. En effet, Access attend une liste d'entiers et non pas une chaine de caracteres.

si vous avez des idees je suis preneur.
Merci par avance.
A voir également:

5 réponses

y a deux méthodes soit comme je té dis de passer té parammétres en entier soit de programmer une requette avec un seul parametre qui s'execute en boucle for c'est facille je pense
1
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 383
23 juil. 2009 à 17:58
Bonjour,
Tu peux définir plus d'un paramètre et ceux-ci peuvent être des entiers, exemple de code
PARAMETERS Param1 Short, Param2 Short, Param3 Short, Param4 Short;
SELECT *
FROM Matable
WHERE Identifiant in (Param1 , Param2 , Param3 , Param4)

A plus
0
Bonjour,
Je vous remercie dans un premier temps pour votre aide.
J'ai oublié de signaler que le nombre de paramètres peut varier selon les choix coches par l'utilisateur et ce nombre dépend du contenu de la base...

Merci quand même.
0
si le pbm est chaine de caractere tu px utilisé la fonction cint("Param") et voila c'est fait.
0

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

Posez votre question
Bonjour,

En fait, il s’agit d'une liste d'identifiants séparés par des virgules (mon_parametre = '1 , 5 , 12, 54').
Un exemple de cas serait par exemple de donner la possibilité à un utilisateur de messagerie de supprimer par mis les messages reçus, ceux qui sont indésirables (1, 5, 12 et 54 serait donc les identifiants des messages à supprimer, mais on ne peut pas connaitre leur nombre à l'avance)
Une première solution - non envisageable pour moi, puisque c’est une requête stockée que je cherche à utiliser - serait d'écrire la requête sous sa forme naturelle à travers le langage de programmation client.

Merci quand même.
0