IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Filtre avec la fonction Replace


Sujet :

Requêtes et SQL.

  1. #1
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut Filtre avec la fonction Replace
    Salut,

    Est-il possible de faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    "'" & Replace(Formulaires!Formulaire1!val_2," ","' ou '") & "'"
    """" & Replace(Formulaires!Formulaire1!val_2," ",""" ou """) & """"
    Replace(Formulaires!Formulaire1!val_2," "," ou ")
    avec "or" idem

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 017
    Points : 24 547
    Points
    24 547
    Par défaut
    Bonjour,

    Ce qui donnerais ça ?!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    And ((T_00.MAG)="M01 ou M02")
    Regarde plutot l'opérateur IN au lieu de =. Pour obtenir ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    And T_00.MAG IN ('M01','M02');
    Tu peux utiliser le replace().

    Cordialement,

  3. #3
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    J'ai toujours le même problème la requête est vide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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]," ",""", """) & """)";

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 017
    Points : 24 547
    Points
    24 547
    Par défaut
    Sans le = : In EST un opérateur logique.
    Sans le " : In EST purement SQL.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ? "T_00.MAG IN ('" & Replace("tot1 toto2"," ","', '") & "')";"
    T_00.MAG IN ('tot1', 'toto2')
    Cordialement,

  5. #5
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Cela ne fonctionne pas...
    Je passe à autre chose, car je voulais que cela fonctionne sans passer par du code...

Discussions similaires

  1. Problème avec la fonction REPLACE
    Par Hanshorcan dans le forum Développement
    Réponses: 6
    Dernier message: 24/08/2011, 21h57
  2. erreur avec la fonction "replace" en python
    Par nancy maman dans le forum Général Python
    Réponses: 4
    Dernier message: 12/05/2011, 11h13
  3. Erreur avec la fonction Replace
    Par johannj dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 28/08/2009, 15h42
  4. Probleme avec la fonction replace et convert datetime
    Par gazzall dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 27/04/2007, 09h07
  5. PB avec la fonction replace
    Par Techman128 dans le forum C++
    Réponses: 6
    Dernier message: 24/02/2005, 11h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo