Access multiplication dans une requete

Résolu/Fermé
accessdébutant - 27 juin 2008 à 11:14
 accessdébutant - 27 juin 2008 à 12:07
Mon probleme est le suivant:
Je souhaite multiplier le résultat d'une requete par une valeur numérique.
mon probleme:
SELECT COUNT([Récépissé PC en notre possession]) AS [Nombre de permis de construire]
FROM .... me donne un résultat.
Mais je voudrais multiplier ce résultat par 1680.
Comment faut il faire? Créer une nouvelle requete ou completer cette requete?
Merci beaucoup pour vos réponses
A voir également:

7 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 à 11:16
Salut,

Tu peux essayer ça

SELECT (nbr * 1680) as [Nombre de permis de construire] from (SELECT COUNT([Récépissé PC en notre possession]) AS nbr)
1
accessdébutant
27 juin 2008 à 11:28
Désolé mais ca ne fonctionne pas.

Ma requete premiere donne ca:
SELECT COUNT([Récépissé PC en notre possession]) AS [Nombre de permis de construire]
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]="EDF EN";

A partir de cette requete j'obtiens un résultat. Je souhaite donc le multiplier par 1680.
J'ai essayé en faisant:
SELECT (Nbr*1680) AS [Nombre de permis de construire]
FROM (SELECT COUNT([Récépissé PC en notre possession]) AS Nbr), [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]="EDF EN";

Voila mais ca ne marche toujours pas...

je me retrouve avec ca:
SELECT (Nbr*1680) AS [Nombre de permis de construire]
FROM (SELECT COUNT([Récépissé PC en notre possession]) AS Nbr) AS [%$##@_Alias], [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]="EDF EN";

Merci
0
accessdébutant
27 juin 2008 à 11:19
Merci de me répondre je commencais à m'inquiéter. Bon je vais essayé ca et je vous tiens au courant. En tout cas merci
0
accessdébutant
27 juin 2008 à 11:24
Désolé mais ca ne fonctionne pas.

Ma requete premiere donne ca:
SELECT COUNT([Récépissé PC en notre possession]) AS [Nombre de permis de construire]
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]="EDF EN";

A partir de cette requete j'obtiens un résultat. Je souhaite donc le multiplier par 1680.
J'ai essayé en faisant:
SELECT (Nbr*1680) AS [Nombre de permis de construire]
FROM (SELECT COUNT([Récépissé PC en notre possession]) AS Nbr) AS Nbr), [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]="EDF EN";

Voila mais ca ne marche toujours pas...
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 à 11:34
C'est juste un problème de parentèse presque :


SELECT nbr * 1680 AS [Nombre de permis de construire] from (

SELECT COUNT([Récépissé PC en notre possession]) AS nbr
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]="EDF EN"

);

Voilà je pense que c'est bon!
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 à 11:39
J'ai essayé avec ca:
SELECT Nbr * 1680 AS [Nombre de permis de construire] from (SELECT COUNT([Récépissé PC en notre possession]) AS Nbr )
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]="EDF EN";

Mais il me dit que j'ai une erreur de syntaxe ds la clause from.
Merci de m'aider parce que ca fait 3 jours que je suis la dessus.
0
normal t'as vu ta clause from...
0
accessdébutant
27 juin 2008 à 11:46
Ma clause from?
Je ne sais pas je débute dans acces et au début ca fonctionné pour le COUNT.
Maintenant je souhaite le multiplier par 1680. Je suis donc les conseils.
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 à 11:49
Ca fonctionne pas ça ?

SELECT nbr * 1680 AS [Nombre de permis de construire] from (

SELECT COUNT([Récépissé PC en notre possession]) AS nbr
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]="EDF EN"

);

Normalement c'est bon, j'ai pas access sous la main mais sous Oracle c'est OK
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 à 11:52
C'est bon Merci beaucoup ca fonctionne.
Je ne sais pas comment te remercier...
Je suis soulager. Tu m'aides enormément.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
j'ai pas tout lu désolée mais ca ca me semble faux :

SELECT Nbr * 1680 AS [Nombre de permis de construire] from (SELECT COUNT([Récépissé PC en notre possession]) AS Nbr )

tu fais un select tu as un from et au lieu du nom de la table tu as un (SELECT COUNT([Récépissé PC en notre possession]) AS Nbr )


perso sous oracle je fais :

select 1680 * count(tontruc) from tatable;
0
accessdébutant
27 juin 2008 à 11:57
J' essayé avec ta méthode qui a l'air plus lisible.
Ca marche aussi
Je vais donc faire ca . Merci beaucoup.
Je ne savais pas que :
SELECT 1680*COUNT ....
FROM... fonctionné.
Merci à toi.
0
et évite les alias (les AS)
0
accessdébutant
27 juin 2008 à 12:03
Désolé mais tant qu'à faire j'ai une autre question:
J'ai 10 types de hangar
Chaque type de hangar peut etre soit traité avec EDF EN soit IRDI soit Autre
J'ai donc effectué 30 requetes. (J'ai bien précisé je suis débutant!)
Mon but est d'arriver à un état général avec le total de types hangar EDF EN puis IRDI puis Autre
Mais aussi avec le nombre de panneaux à commander. (Type hangar 1 = 1680 puis type 2=1680 aussi pui type 3=2500 ....)
Pouvez vous m'aider aussi?
J'avance doucement mais ca avnace donc merci
0
accessdébutant
27 juin 2008 à 12:07
Parce qu'avec ma méthode ja vais y arriver mais avec 90 requetes au moins.
Je sais qu'il y a plus simple mais bon.
0