Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/05/2011, 08h11   #1
Membre Expert
 
Avatar de zoom61
 
Homme Vincent ...
Passionné d'informatique
Inscription : janvier 2005
Messages : 1 217
Détails du profil
Informations personnelles :
Nom : Homme Vincent ...
Âge : 39
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Passionné d'informatique
Secteur : Industrie

Informations forums :
Inscription : janvier 2005
Messages : 1 217
Points : 1 506
Points : 1 506
Envoyer un message via Yahoo à zoom61 Envoyer un message via Skype™ à zoom61
Par défaut Filtre avec la fonction Replace

Salut,

Est-il possible de faire ceci :
Code :
1
2
3
4
5
SELECT T_00.SITE, T_00.MAG, Sum(T_00.VAL) AS VAL
FROM T_00
GROUP BY T_00.SITE, T_00.MAG
HAVING (((T_00.SITE)=Formulaires!Formulaire1!val_1) 
And ((T_00.MAG)=Replace(Formulaires!Formulaire1!val_2," "," ou ")));
Mon problème vient de la fonction "Replace", si je mets "M01", cela fonctionne mais si je mets "M01 M04", je n'ai rien... comment faire sans faire de code !

J'ai essayé les formules suivantes et toujours le même résultat ou pire : rien.
Code :
1
2
3
"'" & Replace(Formulaires!Formulaire1!val_2," ","' ou '") & "'"
"""" & Replace(Formulaires!Formulaire1!val_2," ",""" ou """) & """"
Replace(Formulaires!Formulaire1!val_2," "," ou ")
avec "or" idem
__________________
N'oubliez pas le Tag :

C'est en parvenant à nos fins par l'effort, en étant prêt à faire le sacrifice de profits immédiats en faveur du bien-être d'autrui à long terme, que nous parviendrons au bonheur caractérisé par la paix et le contentement authentique. [Dalaï Lama]
Je ne réponds pas aux messages privés s'ils sont liés à une question du forum

Mon site sur Developpez.com
zoom61 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 09h30   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 623
Points : 11 623
Bonjour,

Ce qui donnerais ça ?!!

Code :
And ((T_00.MAG)="M01 ou M02")
Regarde plutot l'opérateur IN au lieu de =. Pour obtenir ceci :

Code :
And T_00.MAG IN ('M01','M02');
Tu peux utiliser le replace().

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2011, 08h05   #3
Membre Expert
 
Avatar de zoom61
 
Homme Vincent ...
Passionné d'informatique
Inscription : janvier 2005
Messages : 1 217
Détails du profil
Informations personnelles :
Nom : Homme Vincent ...
Âge : 39
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Passionné d'informatique
Secteur : Industrie

Informations forums :
Inscription : janvier 2005
Messages : 1 217
Points : 1 506
Points : 1 506
Envoyer un message via Yahoo à zoom61 Envoyer un message via Skype™ à zoom61
J'ai toujours le même problème la requête est vide :
Code :
1
2
3
4
5
SELECT T_00.SITE, T_00.MAG, Sum(T_00.VAL) AS VAL
FROM T_00
GROUP BY T_00.SITE, T_00.MAG
HAVING T_00.SITE=[Formulaires]![Formulaire1]![val_1] AND 
T_00.MAG="in ('" & Replace([Formulaires]![Formulaire1]![val_2]," ","', '") & "')";
ou
Code :
1
2
3
4
5
SELECT T_00.SITE, T_00.MAG, Sum(T_00.VAL) AS VAL
FROM T_00
GROUP BY T_00.SITE, T_00.MAG
HAVING T_00.SITE=[Formulaires]![Formulaire1]![val_1] AND 
T_00.MAG="in (""" & Replace([Formulaires]![Formulaire1]![val_2]," ",""", """) & """)";
__________________
N'oubliez pas le Tag :

C'est en parvenant à nos fins par l'effort, en étant prêt à faire le sacrifice de profits immédiats en faveur du bien-être d'autrui à long terme, que nous parviendrons au bonheur caractérisé par la paix et le contentement authentique. [Dalaï Lama]
Je ne réponds pas aux messages privés s'ils sont liés à une question du forum

Mon site sur Developpez.com
zoom61 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2011, 09h37   #4
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 623
Points : 11 623
Sans le = : In EST un opérateur logique.
Sans le " : In EST purement SQL.

Code :
"T_00.MAG IN ('" & Replace("tot1 toto2"," ","', '") & "')";"
Tu devrais utiliser la fenêtre d'exécution VBA pour voir ce que ça fait en exécution.

Code :
1
2
? "T_00.MAG IN ('" & Replace("tot1 toto2"," ","', '") & "')";"
T_00.MAG IN ('tot1', 'toto2')
Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2011, 09h52   #5
Membre Expert
 
Avatar de zoom61
 
Homme Vincent ...
Passionné d'informatique
Inscription : janvier 2005
Messages : 1 217
Détails du profil
Informations personnelles :
Nom : Homme Vincent ...
Âge : 39
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Passionné d'informatique
Secteur : Industrie

Informations forums :
Inscription : janvier 2005
Messages : 1 217
Points : 1 506
Points : 1 506
Envoyer un message via Yahoo à zoom61 Envoyer un message via Skype™ à zoom61
Cela ne fonctionne pas...
Je passe à autre chose, car je voulais que cela fonctionne sans passer par du code...
__________________
N'oubliez pas le Tag :

C'est en parvenant à nos fins par l'effort, en étant prêt à faire le sacrifice de profits immédiats en faveur du bien-être d'autrui à long terme, que nous parviendrons au bonheur caractérisé par la paix et le contentement authentique. [Dalaï Lama]
Je ne réponds pas aux messages privés s'ils sont liés à une question du forum

Mon site sur Developpez.com
zoom61 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h54.


 
 
 
 
Partenaires

Hébergement Web