* Critère multiple dans champs de requete *

Résolu/Fermé
tony020422 Messages postés 445 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 19 janvier 2010 - 10 juil. 2008 à 16:12
tony020422 Messages postés 445 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 19 janvier 2010 - 11 juil. 2008 à 10:20
Bonjour a tous,

Je travaille sur une application Access 2007.
J'aimerais savoir la méthode qu'il faut adopter (ou le "code" a ecrire) pour pouvoir,dans le champs d'une requete, faire une recherche par critére multiple..

Exemple: ma table de base contient un champ "Concession" avec comme enregistrements :
3060101 --> les chiffres en 2eme et 3eme position correspondent au département (alpes maritimes)
3060102
3130101 --> la meme chose (bouches du rhone)
3830201 --> pareil (var)
3830102
.....

Les chiffres importants sont donc ceux en 2eme et 3eme position ,les autres n'étant pas important..(Rq: il y a plusieurs Concessions pour un meme département et je veux toutes les récupérées)

J'aimerais que ma requete ne me donne que les enregistrements correspondants aux concessions de la zone sud Est (d'autres requetes permettront de balayer les autre secteurs..)

J'ai essayé d'écrire dans "critère" dans la grille de ma requete "306.." Et "313.." mais ca ne marche pas...

Quelqu'un aurait une idée ?!

Merci par avance!!

5 réponses

Utilisateur anonyme
10 juil. 2008 à 17:24
Utilise les outils permettant de découper une chaîne de caractères. Notamment l'utilisation de SUBSTRING dans ta requête SQL qui te permettra de récupérer les 2 chiffres de ta concession.

Ensuite il ne te reste plus qu'à faire une jointure avec des OR pour avoir plusieurs départements dans une même requête.

Regarde un peu ce que tu peux faire et si tu n'y arrives pas n'hésites pas à re-poster.

Bon courage
0
tony020422 Messages postés 445 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 19 janvier 2010 6
10 juil. 2008 à 17:57
Bonjour et merci pour ta réponse, mais j'ai oublié de dire un truc.......je suis une buse en Access je découvre!! lol
alors ce que tu me dis je comprends pas trop!

Par contre un petit renseignement, quand bien meme il s'agit de nombre, les 3060201 ont été déclaré en tant que format "texte" dans la table..

Je pensais que ce que je voulais faire était tout simple mais ca me fait flipper ce que je lis!

on ne peut pas avoir comme critére plusieurs trucs, et mettre entre "" les critères ?!! '(ici je ne voudrais meme mettre comme critere seulement "306.." pour récupérer toutes les concessions du 06...

J'utilise access07 et les requetes sont simples a faire je n'ai jamais utilisé de VBA pour ca....et il me semble qu'on peut choisir comme critere dans les champs une partie d'expression (ici la partie serait donc 306 pour recuperer toutes les concessions de la forme 306....)

Merci pour ton aide a venir car je suis perdu la!!
0
tony020422 Messages postés 445 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 19 janvier 2010 6
11 juil. 2008 à 09:01
SAlut =[Cvrd]=Tassin,

je cherche a faire plus simple mais pour l'instant je ne vois pas...j'attends de tes nouvelles car la je suis au point mort!

j'ai essayé

SELECT SUBSTR(Concession,2, 3) pou récupérer "13"
FROM Table de Base
WHERE Concession = '3130101';

mais ca ne marche pas (quand bien meme ca marcherait, je ne me vois pas écrire ca pour tous les codes concession de la région!

Merci pour ton aide !
0
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 383
11 juil. 2008 à 10:04
Bonjour Tony,

TU peux peut-être essayer le code suivant
SELECT * from nomdetatable
where left(concession,3) in ("306" , "313")


Cela devrait te donner tous les enregistrements où les 3 premiers caractères de la colonne Concession sont égaux soit à 306 , soit à 313. Tu peux rajouter d'autres valeurs entre les parenthèses du IN.

A plus
0

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

Posez votre question
tony020422 Messages postés 445 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 19 janvier 2010 6
11 juil. 2008 à 10:20
Merci beaucoup Christounet pour le coup de main qui fonctionne, c'est super sympa!
(attention mettre ";" et non "," !)

Mais j'ai trouvé comment faire avant:

Voici l'info qui pourra servir a d'autres personnes:

Ajouter une colonne ("departement" ici) dans la requete en écrivant dans la case "champs" de la grille:

Departement:mid$(Concession;2;2)


et en écrivant dans critére :

in ("06";"13";......)

Voila!!
0