BlueMind?

Résolu
accessdébutant -  
BlueMind Messages postés 583 Statut Membre -
Re bonjour, et Re merci de m'aider.
Je suis toujours avec mes Type hangar ....
J'ai 10 sortes de hangars.
Chaque sorte peut supporter x panneaux
J'ai donc créer une requete pour chaque type hangar.
Mais chaque type hangar a soit des panneaux 1 soit 2 soit 3.
Donc j'ai 30 requetes pour connaitre le nombre de panneaux pour chaque type hangar avec chaque type de panneaux dessus.
Enfin, je voudrais tout simplement faire un Etat qui me fait un récapitulatif de tout ca. Donc qui m'expose le résultat de chaque requete.
Voila encore merci

(Chaque requete ne comporte qu'un résultat ... donc pourquoi n'est-il pas possible qu'un Etat comporte différents résultats de requetes différentes?)

Par expl:
Nb de panneaux 1 pr Type hangar 1: 2500
Nb de panneaux 3 pr type hangar 8: 1250
...

Ca n'est pas possible à faire ca?
Configuration: Windows Vista
Internet Explorer 7.0

3 réponses

  1. BlueMind Messages postés 583 Statut Membre 159
     
    oups c'est compliqué tout ça :-)

    Je pense qu'il vaut mieux recommencer depuis le début car avoir 30 requêtes pour obtenir 30 résultats et les afficher au final sur un seul formulaire ça me parait pas très correct.

    Si je ne me trompe pas, tu as une table du type :

    ma_table

    qui a pour colonne

    type_hangar, type_panneau, etc

    Tu veux avoir le nombre de panneau de chaque type de panneau pour chaque hangard ??

    Dans ce cas utilise qqc du style

    SELECT COUNT(*) as nbr, type_hangar, type_panneau FROM ma_table group by type_hangar, type_panneau

    Dis moi si je suis sur la bonne voie sinon donne moi plus d'info et je regarderai pour t'aider
    0
    1. accessdébutant
       
      Oui ca me parait as mal mais dsl je suis vraiment débutant.
      Alors j'ai une table TYPEHANGAR
      Dans cette table j'ai en clé primaire: NomTypeHangar (001;002;003;...;009)
      Ensuite j'ai Nombre de panneaux :
      pour 001 il y en a 1680
      002 1680
      003 1680
      004 1920
      005 2688
      006 2688
      007 2688
      008 3072
      009 3072
      En plus de ca, il y a 3 marques de panneaux: EDFEN, IRDI ou Autre
      Je veux donc savoir les quantités à commander.
      J'ai donc une requete pour chaque résultat:
      Nb de panneaux 001 *1680 WHERE marque panneau = EDFEN ou ...
      En gros voila
      Jespere que c'est plus clair?
      Mais l'histoire du group by me parrait pas mal
      Peux tu m'aider?
      0
    2. BlueMind Messages postés 583 Statut Membre 159 > accessdébutant
       
      Bien entendu que je vais t'aider. ou du moins essayer.
      Par contre je n'arrive pas bien à saisir l'ensemble de la structure donc pour être plus efficace, il me faudrait la structure de la(ou des) table(s)
      Peux tu me fournir ça (attention, pas besoin de la définition exacte mais uniquement du nom des tables et des colonnes de ces tables).
      0
    3. accessdébutant > BlueMind Messages postés 583 Statut Membre
       
      ok merci bcp de ton aide...
      0
    4. accessdébutant > BlueMind Messages postés 583 Statut Membre
       
      Jusqu'à quel heure peux-tu me répondre? parceque je dois finir ca ce soir et sans ton aide ....
      Je compte beaucoup sur toi BlueMind :)
      0
    5. BlueMind Messages postés 583 Statut Membre 159 > accessdébutant
       
      Et bien justement je n'ai plus beaucoup de temps à te consacrer, disons encore 15-20 minutes.
      0
  2. accessdébutant
     
    Alors j’ai 6 tables : CLIENT, ARCHITECTE, COMMERCIAL, SUIVI DOSSIER, HANGAR, TYPE HANGAR
    Ensuite dans Type hangar j'ai: NomTypeHangar, Type(Métal ou bois), Dimensions, Hauteur, SurfaceUtileHangar, SurfaceHangarPourPC, SufacePanneauxPV, NombreDePanneauxPV,PuissanceElectrique

    Et, dans la table CLIENT, il faut renseigner le maître d'ouvrage: Soit EDFEN soit IRDI soit Autre

    As tu besoin d'autres infos?
    0
    1. BlueMind Messages postés 583 Statut Membre 159
       
      Non désolé mais je n'arrive pas à m'y retrouver.
      Où se trouve le type de panneau ? et que vient faire le client dans ça ? quel est le lien entre ces tables ?
      0
      1. accessdébutant > BlueMind Messages postés 583 Statut Membre
         
        Alors je vais essayé d'etre plus clair.
        un client demande un hangar.
        un client a un maître d'ouvrage. Cad que soit EDFEN s'occupe de son dossier, soit IRDI soit Autre (Il y a donc 3 marques de panneaux différents puisqu'en fonction du maitre d'ouvrage on met une marque de panneaux)
        dans SUIVIDOSSIER, on saisie un tas de dates.A partir d'une date (Permis déposé) je fais un Count dessus. Cela me permet donc de savoir combien j'ai de permis déposé. Si j'ai 4 permis déposés par expl il me fodra commender des panneaux (qu'on posera sur la toiture du hangar)
        Mais j'ai 3 sorte de panneaux et 9 sortes de Type hangar. Donc en fonction de la marque du hangar et du type de hangar je ne vais pas commander la meme qté. Expl si EDFEN et TypeHangar 1 il me fo 1680panneaux de type EDFEN
        Jspr que tu comprendra mieu.
        Je compte bcp sur ton aide merci
        0
      2. BlueMind Messages postés 583 Statut Membre 159 > accessdébutant
         
        C'est vraiment pas facile comme ça, peux-tu me fournir deux de tes 30 requêtes ?
        0
  3. accessdébutant
     
    SELECT 1680*COUNT([Récépissé PC en notre possession]) AS [Nombre de panneaux pour type hangar 001 Autre]
    FROM [SUIVI DOSSIER], CLIENT, [TYPE HANGAR]
    WHERE CLIENT.[Numéro dossier]=[SUIVI DOSSIER].[Numéro dossier] And CLIENT.[Nom type hangar]=[TYPE HANGAR].[Nom type hangar] And CLIENT.[Nom type hangar]="001" And CLIENT.[Maître d'ouvrage]="Autre";

    SELECT 1920*COUNT([Récépissé PC en notre possession]) AS [Nombre de panneaux pour type hangar 004 EDF EN]
    FROM [SUIVI DOSSIER], CLIENT, [TYPE HANGAR]
    WHERE CLIENT.[Numéro dossier]=[SUIVI DOSSIER].[Numéro dossier] And CLIENT.[Nom type hangar]=[TYPE HANGAR].[Nom type hangar] And CLIENT.[Nom type hangar]="004" And CLIENT.[Maître d'ouvrage]="EDF EN";
    0
    1. BlueMind Messages postés 583 Statut Membre 159
       
      Ok alors il faut absolument mettre le nombre de panneaux nécessaire dans une table (1680, 1920, etc) sinon ce ne sera pas possible.

      Ensuite tu utilises :

      SELECT new_colonne * COUNT([Récépissé PC en notre possession]) AS [Nombre de panneaux pour type hangar 004 EDF EN], CLIENT.[Nom type hangar], CLIENT.[Maître d'ouvrage]
      FROM [SUIVI DOSSIER], CLIENT, [TYPE HANGAR]
      WHERE CLIENT.[Numéro dossier]=[SUIVI DOSSIER].[Numéro dossier] And CLIENT.[Nom type hangar]=[TYPE HANGAR].[Nom type hangar]
      GROUP BY CLIENT.[Nom type hangar], CLIENT.[Maître d'ouvrage]
      ;

      Désolé mais je pourrai pas t'aider beaucoup plus aujourd'hui. Essaye peut-être sans le new_colonne pour voir si ça ressemble à ce que tu veux
      0
      1. accessdébutant > BlueMind Messages postés 583 Statut Membre
         
        Bon merci déja d'avoir passé du temps sur mon probleme.
        Je vais essayé et puis je reviendrai te posser des questions à l'occasion. Merci bcp BlueMind
        0
      2. BlueMind Messages postés 583 Statut Membre 159 > accessdébutant
         
        Ok de rien, et bon courage.
        0