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 02/03/2011, 04h56   #1
Candidat au titre de Membre du Club
 
Homme Julien
Ingénieur qualité méthodes
Inscription : juillet 2009
Messages : 53
Détails du profil
Informations personnelles :
Nom : Homme Julien
Localisation : Chine

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

Informations forums :
Inscription : juillet 2009
Messages : 53
Points : 14
Points : 14
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 :
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 :
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.
btks59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 05h10   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 609
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 609
Points : 30 959
Points : 30 959
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
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
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 12h03   #3
Candidat au titre de Membre du Club
 
Homme Julien
Ingénieur qualité méthodes
Inscription : juillet 2009
Messages : 53
Détails du profil
Informations personnelles :
Nom : Homme Julien
Localisation : Chine

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

Informations forums :
Inscription : juillet 2009
Messages : 53
Points : 14
Points : 14
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 !
btks59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h55.


 
 
 
 
Partenaires

Hébergement Web