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 :

Condition en Si sur les premiers caractères d'un champ [AC-2007]


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juillet 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Chine

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2009
    Messages : 59
    Points : 44
    Points
    44
    Par défaut Condition en Si sur les premiers caractères d'un champ
    Bonjour,

    J'essaie de créer dans une de mes requêtes une condition en Si pour renommer automatiquement toutes les familles de produits d'un autre champ commençant par BH en Big Household par exemple.

    Je vais expliquer un peu plus en détail le contexte de ma base de données. J'ai une table "Famille de produit" contenant chaque famille de produit ainsi que les départements concernés.

    Certaines familles de produits sont très très détaillés comme par exemple nous avons, les réfrigérateurs 1 porte, 2 portes, ....
    Dans notre base ces familles sont nommées de la sorte : BH-Ref 1 porte, BH-Ref 2 portes etc ...

    J'aimerai pour mes statistiques regrouper ces sous familles en une seule et unique famille BH-Refrigerator par exemple

    La solution que j'avais trouvé était de créer un champ supplémentaire dans ma requête avec la condition Si :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PF: IIf([Product_family]="BH-Ref*";"BH-Refrigerator";IIf () ... )
    Le problème est que "*" ne semble pas fonctionner.

    L'autre solution à laquelle je pensais était d'afficher dans ma requête les 1ers caractères uniquement des sous familles, les 6ers par exemple, me donnant donc BH-ref par exemple.
    Me permettant ensuite de faire une condition en Si classique du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PF: IIf([Product_family]="BH-ref";"BH-Refrigerator"; 
              IIf([Product_family]="BH-Was";"BH-Washing Machine";
              ... )
    Sans cela je suis obligé de taper chaque sous famille dans la condition, ce qui peut être trés long et surtout pas trés "optimisé". A savoir que dans la catégorie "Big Household", il doit y avoir plus de 30 sous familles pour 4 familles ...

    Merci d'avance pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Quelques fonctions VBA devraient t'aider.

    Pour récupérer les 6 premiers caractères regardes du coté de la fonction Left.

    Pour le caractère générique (*), il faut utiliser Like au lieu du =.

    Philippe

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juillet 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Chine

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2009
    Messages : 59
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par Philippe JOCHMANS Voir le message

    Pour le caractère générique (*), il faut utiliser Like au lieu du =.

    Philippe
    Bonjour,

    Merci pour la réponse, ça fonctionne très bien en remplaçant "=" par "Like".

    Bonne journée !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. COUNTIFS : tester sur les premiers caractères
    Par tenese dans le forum Excel
    Réponses: 3
    Dernier message: 05/08/2014, 17h43
  2. Réponses: 1
    Dernier message: 16/09/2009, 13h30
  3. Réponses: 3
    Dernier message: 13/02/2009, 15h49
  4. Réponses: 5
    Dernier message: 12/10/2007, 16h51
  5. [Debutant] GROUP BY sur les premiers caracteres d'un champ
    Par seb-astien dans le forum Langage SQL
    Réponses: 8
    Dernier message: 09/11/2004, 14h53

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