BlueMind?

Résolu/Fermé
accessdébutant - 27 juin 2008 à 16:46
BlueMind Messages postés 583 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 22 juillet 2008 - 27 juin 2008 à 17:46
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?

3 réponses

BlueMind Messages postés 583 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 22 juillet 2008 159
27 juin 2008 à 16:52
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
accessdébutant
27 juin 2008 à 17:02
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
BlueMind Messages postés 583 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 22 juillet 2008 159 > accessdébutant
27 juin 2008 à 17:05
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
accessdébutant > BlueMind Messages postés 583 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 22 juillet 2008
27 juin 2008 à 17:07
ok merci bcp de ton aide...
0
accessdébutant > BlueMind Messages postés 583 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 22 juillet 2008
27 juin 2008 à 17:25
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
BlueMind Messages postés 583 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 22 juillet 2008 159 > accessdébutant
27 juin 2008 à 17:27
Et bien justement je n'ai plus beaucoup de temps à te consacrer, disons encore 15-20 minutes.
0
accessdébutant
27 juin 2008 à 17:13
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
BlueMind Messages postés 583 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 22 juillet 2008 159
27 juin 2008 à 17:24
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
accessdébutant > BlueMind Messages postés 583 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 22 juillet 2008
27 juin 2008 à 17:31
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
BlueMind Messages postés 583 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 22 juillet 2008 159 > accessdébutant
27 juin 2008 à 17:35
C'est vraiment pas facile comme ça, peux-tu me fournir deux de tes 30 requêtes ?
0
accessdébutant
27 juin 2008 à 17:37
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
BlueMind Messages postés 583 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 22 juillet 2008 159
27 juin 2008 à 17:42
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
accessdébutant > BlueMind Messages postés 583 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 22 juillet 2008
27 juin 2008 à 17:44
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
BlueMind Messages postés 583 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 22 juillet 2008 159 > accessdébutant
27 juin 2008 à 17:46
Ok de rien, et bon courage.
0