BlueMind?
Résolu
accessdébutant
-
BlueMind Messages postés 583 Date d'inscription Statut Membre Dernière intervention -
BlueMind Messages postés 583 Date d'inscription Statut Membre Dernière intervention -
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?
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
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?
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
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";
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
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?
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).
Je compte beaucoup sur toi BlueMind :)