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
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
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
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
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
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?
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?
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
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 ?
Où se trouve le type de panneau ? et que vient faire le client dans ça ? quel est le lien entre ces tables ?
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
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
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
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
27 juin 2008 à 17:35
C'est vraiment pas facile comme ça, peux-tu me fournir deux de tes 30 requêtes ?
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";
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";
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
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
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
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
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
Je vais essayé et puis je reviendrai te posser des questions à l'occasion. Merci bcp BlueMind
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
27 juin 2008 à 17:46
Ok de rien, et bon courage.
27 juin 2008 à 17:02
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?
27 juin 2008 à 17:05
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).
27 juin 2008 à 17:07
27 juin 2008 à 17:25
Je compte beaucoup sur toi BlueMind :)
27 juin 2008 à 17:27