[Access] Requete stockée : Nb de paramètres variables

Requete stockée : Nb de paramètres variables [Access] - SQL/NoSQL - Programmation

Marsh Posté le 24-07-2006 à 04:51:23    


 
Bonjour,
 
J'ai des procedure stockes (ou plutot requetes stockés) dans une base de donnée access, que j'accede à partir d'un prgm en vb.net
 
J'ai une requete de recherche : l'utilisateur rentre un mot, et la requete renvoi tout ce qu'elle trouve. Je lance donc la requete avec un parametre, qui est recupéré par la procedure stocké.
 
WHERE (tbl_Auteur.Nom Like chn_artiste_recherche)  
 
ou "chn_artiste_recherche" est donc le parametre. Jusque là ça marche très bien.
 
 
J'aimerais maintenant ajouter les fonctionnalitées AND : l'utilisateur peut mettre plusieurs mots et il faut donc que la requete fasse plusieurs AND
 
WHERE (tbl_Auteur.Nom Like chn_artiste_recherche) AND (tbl_Auteur.Nom Like chn_artiste_recherche2)  AND etc..
 
 
Ca fonctionne aussi si je prévois le nombre de paramètres, et que j'écris la procedure stockée en fonction.
 
Mais bien sûr il est impossible de savoir combien de mots va taper l'utilisateur..
 
 
Ma question :
 
Comment coder la procedure stockée pour créer le WHERE de manière dynamique..  ?
 
Exemple si j'envoie 4 paramètres (4 chaines) comment faire pour que la procédure stocké crée le WHERE avec 3 AND
 
 
Ou sinon je pourrais envoyer 1 paramètre avec les 4 mots séparés par un espace, ou une virgule. mais il restera à créer le WHERE
 
 
 
Merci d'avance !
 

Reply

Marsh Posté le 24-07-2006 à 04:51:23   

Reply

Marsh Posté le 24-07-2006 à 05:50:07    

Ce n'est pas possible avec access :)

Reply

Marsh Posté le 24-07-2006 à 07:07:32    

tu n'est pas oblige de passer par les procedures stockees
si tu construit et execute ta requete dans ton code vb.net tu auras beaucoup plus de facilites pour le faire et pour generer des requetes dynamiques

Reply

Marsh Posté le 24-07-2006 à 23:10:00    

Ok ce n'est que possible dans Sql server alors..
 
Merci pour les réponses.
 
Je vais penser à ta solution !!
 
=)
 

Reply

Marsh Posté le 28-07-2006 à 16:43:23    

Salut,  
 
j'ai le même problème que toi a savoir des procédure stocké qui utilise un paramètre, par exemple un mois (@Period = '200510' et dans la requête Period = @Period) dans la clause where.
Si je veut effectuer la requête en passant en paramètre plusieurs periode, la ca pose problème, je n'arrive pas à lui passer la bonne chaîne de caractère (exemple : @Period = '200510' or Period = '200511' or...)
Mon appli est en vb.net et j'utilise sql server 2000.
As tu une solution?,  
Merci d'avance.

Reply

Marsh Posté le 30-07-2006 à 21:03:00    

si tu tournes sur Sql server alors tu peux faire une procedure stockée un peu plus complexe et créer ton where à l'intérieur. (IF.. BEGIN.. etc)
Mais perso je l'ai pas fais, je l'ai trouvé recemment en cherchant une solution pour mon pb sous access. Mais si tu cherche bien il y a pas mal de tuto pour ton cas.
Moi je fais maintenant la requete dans vb.net et je l'envoie, donc j'ai laissé les procedures stockées de côté, et ça fonctione bien. Sous Vb c'est supra facile de créer la requete sql selon le nombre de parametre..
 
bonne chance à toi ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed