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 :

Requête tableau croisé


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Points : 148
    Points
    148
    Par défaut Requête tableau croisé
    Bonjour,

    voici un exemple de ma table : T_Pilot_modifié

    NoFiche | Date | Repère App | NoLigne | Fréq
    FUNF-0001 | 14/01/07 | DM001-1 | Ligne1 | 30
    FUNF-0021 | 15/02/07 | DL005-2 | Ligne2 | 60
    FUNF-0001 | 21/02/07 | DM001-1 | Ligne1 | 30
    FUNF-0043 | 14/01/07 | AH001-3 | Ligne3 | 90
    FUNF-0051 | 14/01/07 | DZ001-4 | Ligne4 | 365
    FUNF-0105 | 21/01/07 | DH001-2 | Concentration | 7
    FUNF-0001 | 17/03/07 | DM001-1 | Ligne1 | 30
    FUNF-0021 | 14/01/07 | PH064-5 | Ligne5 | 180
    FUNF-0001 | 05/05/07 | DM001-1 | Ligne1 | 30

    Je voudrais faire une requête afin d'obtenir le résultat :

    1) Selectionner le N°Ligne (->cela je sais faire)
    2) voici les résultats que je souhaiterai suivant le choix du 1
    Pour la ligne 1
    | Janvier-07 | Fevrier-07 | Mars-07 | Avril-07 | Mai-07 |mois(jour)
    DM001-1 | 14/01/07 | 21/02/07 | 17/03/07| rouge | 05/05/07|rouge

    Pour la ligne 2
    | Janvier-07 | Fevrier-07 | Mars-07 | Avril-07 | Mai-07 |mois(jour)
    DL005-2 | | 21/02/07 | | rouge | |rouge
    DH001-2 | 21/01/07 | rouge | rouge | rouge |rouge | rouge|

    Pour la ligne 3
    | Janvier-07 | Fevrier-07 | Mars-07 | Avril-07 | Mai-07 |mois(jour)
    AH001-3 | 14/01/07 | | | rouge | |


    donc je souhaite faire un tableau récapitulatif avec les cases en rouge si pas de date dans le mois et la case vide selon la fréquence.

    Vous dites si il vous faut plus d'info.

  2. #2
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Citation Envoyé par mulanzia2003 Voir le message
    FUNF-0105 | 21/01/07 | DH001-2 | Concentration | 7
    ...

    Ligne 1 | Janvier-07| Fevrier-07 | Mars-07 | Avril-07 | Mai-07 |mois(jour)
    DM001-1 | 14/01/07 | 21/02/07 | 17/03/07| rouge | 05/05/07|rouge

    Ligne 2 ...
    Alors...
    Je suppose que tu obtiens "Ligne1", "Ligne2", etc par une formule du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NoLigne: "Ligne" & Droite([REPERE_APP];1)    ' ???
    .
    Si c'est le cas, comment obtiens-tu "Concentration" ?

    Pour revenir à ta question, je procéderais en deux étapes, la première en enregistrant une requête du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT T_Pilot_modifié.N°fiche, Format(Month([DATE]),"mmmm") & "-" & Format(Year([DATE]),"yy") AS MoisAn, T_Pilot_modifié.DATE, T_Pilot_modifié.REPERE_APP, "Ligne" & Right([REPERE_APP],1) AS NoLigne FROM T_Pilot_modifié WHERE (((T_Pilot_modifié.N°fiche)>""));
    et ensuite seulement par une requête croisée, basée sur ma requête précédente

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Points : 148
    Points
    148
    Par défaut
    c'est le cas, comment obtiens-tu "Concentration"
    Je t'explique : je bosse dans une industrie qui est découpé en zone.
    1)Stockage
    2)Poly
    3)Concentration
    4)Stripping
    5)Finition

    Dans les 4 premières zones, les machines (Repere_App) sont directement sous ces zones sauf pour la 5ème zone ou il y a encore un découpage
    5)Finition
    5-1) Ligne 1
    5-2) Ligne 2
    5-3) Ligne 3
    5-4) Ligne 4


    Ce que je souhaite c'est simplement faire un tableau récapitulatif comme indiqué

    | Janvier-07 | Fevrier-07 | Mars-07 | Avril-07 | Mai-07 |mois(jour)
    DM001-1 | 14/01/07 | 21/02/07 | 17/03/07| rouge | 05/05/07|rouge

  4. #4
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Ton problème n'est pas évident. La seule solution que j'entrevois serait de passer par un Etat, que tu affiches à l'écran ou que tu imprimes.

    A ce moment-là, tu pourrais réaliser la requête que je te mentionne plus haut puis, dans un Etat, tu utilises la fonction regroupement pour établir ton tableau.

    Peut-être existe-t'il une solution via une requête mais... elle n'est malheureusement pas à ma portée aujourd'hui...

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Points : 148
    Points
    148
    Par défaut
    je ne connais pas cette fonction regroupement dont tu me parles, tu pourria être plus précis.

  6. #6
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Lorsque tu affiches un état en mode création, tu trouves une icône de regroupement (cf. l'image ci-dessous)
    Elle te permet d'accéder à la fenêtre pop-up (miniature ci-dessous), que je te laisse découvrir mais qui est très puissante et surtout très utile !

    Je pense qu'avec ça plus quelques heures "au charbon" à définir tes champs mois (Janvier - 07, Février - 07, etc) et en regroupant les enregistrement par le champ où tu trouves "DM001-1", cela devrait le faire !

    Bon dév. et courage !

    P.S. Si jamais n'hésite pas à poser des questions mais, me concernant, ce sera pour demain

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Points : 148
    Points
    148
    Par défaut
    tu peux me faire un exemple sur access pour que je comprenne!!! car là je suis vraiment à la ramasse.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Points : 148
    Points
    148
    Par défaut
    Pour faire suite à ton message en MP BernardMichel

    ok je te prépare cela et je te l'a fais parvenir sur msn.

  9. #9
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    ben ?
    J'ai rien reçu ?

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Points : 148
    Points
    148
    Par défaut
    as tu reçu mon message sur ta boite

  11. #11
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Salut !

    J'ai regardé en bref ta MDB. Voici un petit code sql qui devrait approcher du résultat souhaité... mais pas tout à fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    TRANSFORM Max(Pilot_modifié.Date) AS MaxDeDate
    SELECT Pilot_modifié.N°Fiche
    FROM Pilot_modifié
    GROUP BY Pilot_modifié.N°Fiche
    PIVOT Month([Date]);

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Points : 148
    Points
    148
    Par défaut
    enfin c pas mal , je te remercie je vais voir ce que je peux améliorer.

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

Discussions similaires

  1. SQL Serveur: requête tableau croisé
    Par Gilles93 dans le forum Développement
    Réponses: 10
    Dernier message: 24/02/2015, 17h05
  2. Requête tableau croisé
    Par izeba dans le forum Langage SQL
    Réponses: 6
    Dernier message: 12/07/2011, 19h43
  3. Requête -> tableau croisé et autres besoins statistiques
    Par Perplexe dans le forum Requêtes
    Réponses: 2
    Dernier message: 04/02/2010, 15h38
  4. Récupérer la requéte sql d'un tableau croisé en vba
    Par snipeurcoq dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/07/2008, 14h14
  5. Requête tableau croisé dynamique + état
    Par willytito dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 24/07/2006, 15h23

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