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 :

Afficher un champ d'une table dans une requete en fonction des criteres d'un autre 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 Afficher un champ d'une table dans une requete en fonction des criteres d'un autre champ
    Bonjour, dans ma base de données j'ai une table "Évaluation" qui me permet d'évaluer chacun de mes clients.
    Il y a les champs suivant : Usine, Type d'évaluation (1,2 ou 3), Date, Note.

    Pour une même usine il peut y avoir les 3 types d'évaluations.
    J'aimerai dans ma requête afficher tous ces champs mais avec un critère particulier : pour chaque usine n'afficher qu'un type d'évaluation, le plus grand chiffre en fait.
    Si pour l'usine A, j'ai ceci :
    Type d'évaluation 1, note : 50%
    Type d'évaluation 2, note : 90%
    Type d'évaluation 3, note : 85%

    Je voudrais que la requête ne m'affiche pour l'usine A seulement Type d'évaluation 3.
    Ceci n'est pas difficile, dans la requête j'ai mis le critère max dans la colonne "Type d'évaluation".

    Mais ensuite lorsque je rajoute la date ou la note, le critère ne fonctionne plus.
    En reprenant l'exemple, la requete m'affichera les 3 types d'évaluation ainsi que leur note respective au lieu de ne m'afficher que : Type d'évaluation 3, note : 85% ...

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 250
    Points
    34 250
    Par défaut
    salut,
    au lieu d'utiliser un max sur ton type dévaluation, pourquoi ne pas faire passer la valeur en tant que critère WHERE ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  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
    Bonjour,
    Je ne sais pas si j'ai reellement fait ce qu'il fallait, j'ai utilise un "Where" et mis en critere :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (SELECT Max ([Assessment Type]) FROM [T_Assessment])
    Le probleme c'est qu'access ne m'affiche que les Types d'evaluation 3.

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 600
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 600
    Points : 56 698
    Points
    56 698
    Billets dans le blog
    40
    Par défaut
    Bonsoir,


    Je ne sais pas si j'ai reellement fait ce qu'il fallait, j'ai utilise un "Where" et mis en critere :
    Code :
    (SELECT Max ([Assessment Type]) FROM [T_Assessment])
    Il faut encore synchroniser cette sous-requête avec la requête principale.

    Ce qui donnerait (table Evaluation avec les champs Usine, TypeEval, DateEval, NoteEval)

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT T.Usine, T.TypeEval,  T.DateEval ,T.NoteEval FROM Evaluation AS T
    
    WHERE T.TypeEval= (SELECT Max(TypeEval) FROM Evaluation WHERE Usine=T.Usine)
    
    GROUP BY T.Usine, T.TypeEval,  T.DateEval, T.NoteEval

  5. #5
    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
    Bonjour, merci pour l'aide, tout fonctionne parfaitement

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

Discussions similaires

  1. copier une table d'une BDD dans une table d'une autre BDD
    Par faniette dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/05/2013, 10h17
  2. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  3. [AC-2003] insert des données d'une table dans une table d'une base externe
    Par marieo dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/11/2009, 14h29
  4. Réponses: 2
    Dernier message: 02/06/2006, 11h26
  5. Mettre une valeur d'une table dans une variable
    Par Raphou96 dans le forum Access
    Réponses: 5
    Dernier message: 06/02/2006, 15h19

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