{Access} 2003 requete parametré en %
l-dag
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
l-dag Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
l-dag Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis débutant sur access (2003), et je ne maitrise pas le langage SQL.
Voila mon pb : j'ai des affaires notéés de 1 à 3. Par une requete, je voudrais compter le nombre d'affaires ayant une moyenne supérieure à 2 (j'ai déja fait les moyennes par affaires).
Pour les compter ce n'est pas difficile mais comment fait-on pour avoir le pourcentage d'affaires ayant une moyenne supérieure ou égale à 2 ?
Exemple : sur 4 affaires, 2 ont une moyenne supérieure à 2 > 50 % ont donc une moyenne supérieure à 2.
Par avance merci pour vos réponses
Je suis débutant sur access (2003), et je ne maitrise pas le langage SQL.
Voila mon pb : j'ai des affaires notéés de 1 à 3. Par une requete, je voudrais compter le nombre d'affaires ayant une moyenne supérieure à 2 (j'ai déja fait les moyennes par affaires).
Pour les compter ce n'est pas difficile mais comment fait-on pour avoir le pourcentage d'affaires ayant une moyenne supérieure ou égale à 2 ?
Exemple : sur 4 affaires, 2 ont une moyenne supérieure à 2 > 50 % ont donc une moyenne supérieure à 2.
Par avance merci pour vos réponses
A voir également:
- {Access} 2003 requete parametré en %
- Remettre parametre usine pc - Guide
- Parametre dns - Guide
- Parametre windows - Guide
- Netflix paramètre compte - Guide
- Parametre usine chromecast - Guide
41 réponses
Bonjour,
Le code suivant devrait faire ce que tu veux
Tu dois bien sur remplace Nomcolonne par le nom de la colonne contenant la moyenne et Nomtable par le nom de ta table.
A plus
Le code suivant devrait faire ce que tu veux
SELECT ( count(Nomcolonne) / (SELECT count(Nomcolonne) FROM Nomtable)) / 100. FROM Nomtable WHERE Nomcolonne > 2
Tu dois bien sur remplace Nomcolonne par le nom de la colonne contenant la moyenne et Nomtable par le nom de ta table.
A plus
Merci christounet.
Par contre, ou dois-je remplir ce code ?
Sachant que j'ai fait une requete visant à trouver les affaires ayant une note > 2 ; et que je peux les visualiser dans un état.
Désolé mais les codes VBA et langages SQL ne sont pas mes forts...
PS : Merci de votre réponse si rapide
Cordialement
Par contre, ou dois-je remplir ce code ?
Sachant que j'ai fait une requete visant à trouver les affaires ayant une note > 2 ; et que je peux les visualiser dans un état.
Désolé mais les codes VBA et langages SQL ne sont pas mes forts...
PS : Merci de votre réponse si rapide
Cordialement
Bonjour,
Il suffit d'introduire le code dans le mode sql, tu trouveras ici comment accéder a ce mode lors de la création d'une requête.
A plus
Il suffit d'introduire le code dans le mode sql, tu trouveras ici comment accéder a ce mode lors de la création d'une requête.
A plus
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ok merci.
SELECT (Count(Moyenne)/(SELECT count(Moyenne) FROM Moyenne_par_Affaires))/100 AS Expr1
FROM Moyenne_par_Affaires
WHERE (((Moyenne_par_Affaires.Moyenne)>2));
J'ai tapé ce code; sachant que "moyenne_par_affaires" est une requete et non une table ( requete par laquelle je suis passé pour calculer la moyenne / affaires.
J'ai comme résultat 0,006 ce qui est très étonnant. Il y a 6 affaires étant supérieure à 2 sur 34. Je devrais donc trouver comme résultat environ 20% ; ce n'est pas le cas.
Sinon ma requete calculant la moyenne par affaires est nikel. Voici le code :
SELECT Affaires.Nom_affaire, Sum(Moyenne_par_Affaires.Moyenne) AS SommeDeMoyenne
FROM Affaires INNER JOIN Moyenne_par_Affaires ON Affaires.Nom_affaire = Moyenne_par_Affaires.Nom_affaire
GROUP BY Affaires.Nom_affaire
HAVING (((Sum(Moyenne_par_Affaires.Moyenne))>2));
Ce n'est pas plus pratique d'ajouter une info dans ce code pour obtenir ce que je souhaite ?
SELECT (Count(Moyenne)/(SELECT count(Moyenne) FROM Moyenne_par_Affaires))/100 AS Expr1
FROM Moyenne_par_Affaires
WHERE (((Moyenne_par_Affaires.Moyenne)>2));
J'ai tapé ce code; sachant que "moyenne_par_affaires" est une requete et non une table ( requete par laquelle je suis passé pour calculer la moyenne / affaires.
J'ai comme résultat 0,006 ce qui est très étonnant. Il y a 6 affaires étant supérieure à 2 sur 34. Je devrais donc trouver comme résultat environ 20% ; ce n'est pas le cas.
Sinon ma requete calculant la moyenne par affaires est nikel. Voici le code :
SELECT Affaires.Nom_affaire, Sum(Moyenne_par_Affaires.Moyenne) AS SommeDeMoyenne
FROM Affaires INNER JOIN Moyenne_par_Affaires ON Affaires.Nom_affaire = Moyenne_par_Affaires.Nom_affaire
GROUP BY Affaires.Nom_affaire
HAVING (((Sum(Moyenne_par_Affaires.Moyenne))>2));
Ce n'est pas plus pratique d'ajouter une info dans ce code pour obtenir ce que je souhaite ?
Bonjour,
J'avoue que j'ai du mal à comprendre ta requête, elle ne compte pas le nombre d'affaire ayant une note > 2 mais fais la somme des moyennes et uniquement si la somme des moyennes est plus grande que 2.
Peux-tu en mode sql exécuté les deux ordres suivants
Merci et à plus
J'avoue que j'ai du mal à comprendre ta requête, elle ne compte pas le nombre d'affaire ayant une note > 2 mais fais la somme des moyennes et uniquement si la somme des moyennes est plus grande que 2.
Peux-tu en mode sql exécuté les deux ordres suivants
SELECT count(Moyenne_par_Affaires.Moyenne) FROM Moyenne_par_Affaireset
SELECT count(Moyenne_par_Affaires.Moyenne) FROM Moyenne_par_Affaires WHERE Moyenne_par_Affaires.Moyenne > 2et me communiquer les résultats.
Merci et à plus
Re,
Autant pour moi le code que tu m'as donné précédemment est parfait : Merci BEAUCOUP!!
J'obtiens 60%, soit le rapport d'affaires notées ayant une moyenne supérieure à 2 : donc ce que je souhaitais!
J'ai réalisé les 2 autres requetes que tu m'as demandé.
La première :
SELECT count(Moyenne_par_Affaires.Moyenne)
FROM Moyenne_par_Affaires
...me donne un résultat de 10.
Cela correspond au nombre d'affaires notées. D'ailleurs je voudrais connaitre le pourcentage du nombre d'affaires notées (il y en a donc 10 sur 34). J'imagine qu'il ya une légère info à ajouter au code ci-dessous, une idée?
Quant à la deuxième requete que tu m'as demandé de réaliser, j'obtiens 6, soit le nombre d'affaires ayant une note supérieure à 2.
Autant pour moi le code que tu m'as donné précédemment est parfait : Merci BEAUCOUP!!
J'obtiens 60%, soit le rapport d'affaires notées ayant une moyenne supérieure à 2 : donc ce que je souhaitais!
J'ai réalisé les 2 autres requetes que tu m'as demandé.
La première :
SELECT count(Moyenne_par_Affaires.Moyenne)
FROM Moyenne_par_Affaires
...me donne un résultat de 10.
Cela correspond au nombre d'affaires notées. D'ailleurs je voudrais connaitre le pourcentage du nombre d'affaires notées (il y en a donc 10 sur 34). J'imagine qu'il ya une légère info à ajouter au code ci-dessous, une idée?
Quant à la deuxième requete que tu m'as demandé de réaliser, j'obtiens 6, soit le nombre d'affaires ayant une note supérieure à 2.
Bonjour,
En supposant que ta table Affaires contient toutes les affaires, notées ou non, le code devrait être
A plus
En supposant que ta table Affaires contient toutes les affaires, notées ou non, le code devrait être
SELECT (count(Moyenne_par_Affaires.Moyenne)/(SELECT count(*) FROM Affaires))/100. As PourcentAffaire FROM Moyenne_par_Affaires
A plus
Effectivement bravo tu es un AS!
Du coup j'en profite pour te demander une autre info (sauf si tu es occupé et que tu en a assez de m'aider ce que je comprendrais..) : La dernière requete en question que tu m'as donné me sert donc à voir le % du nombre d'affaires ayant été notées.
Je fais cela pour une évaluation qualité. Cette évaluation concerne le % de notes ayant été récoltées à la date de commande, et est calculée semestres par semestres.
J'imagine qu'il faut ajouter ce champ mais il doit exister un critère particulier afin de faire le calcul par semestre. Encore une fois je fais appel à ton cerveau, une idée ?
Encore merci!!
Du coup j'en profite pour te demander une autre info (sauf si tu es occupé et que tu en a assez de m'aider ce que je comprendrais..) : La dernière requete en question que tu m'as donné me sert donc à voir le % du nombre d'affaires ayant été notées.
Je fais cela pour une évaluation qualité. Cette évaluation concerne le % de notes ayant été récoltées à la date de commande, et est calculée semestres par semestres.
J'imagine qu'il faut ajouter ce champ mais il doit exister un critère particulier afin de faire le calcul par semestre. Encore une fois je fais appel à ton cerveau, une idée ?
Encore merci!!
Bonjour,
Tout d'abord, cela me fait plaisir d'aider les gens, et comme je ne suis pas surchargé de travail pour le moment, si tu pouvais me donner la définition complète de ta table (les colonnes ainsi que le type), je devrais pouvoir t'aider.
A plus
Tout d'abord, cela me fait plaisir d'aider les gens, et comme je ne suis pas surchargé de travail pour le moment, si tu pouvais me donner la définition complète de ta table (les colonnes ainsi que le type), je devrais pouvoir t'aider.
A plus
Pas besoin de mes tables.
La formule suivante que tu m'as donné me sert à calculer le % du nombres d'affaires notées :
SELECT (Count(Moyenne_par_Affaires.Moyenne)/(SELECT count(*) FROM Affaires)) AS PourcentAffaire
FROM Moyenne_par_Affaires;
En fait j'ai des notations par affaires en conception. Je veux savoir le nombre d'affaires ayant été notées en conception ; et ce calcul se fait semestre par semestre.
Ci joint une capture d'écran de ma structure. Je crois qu'il existe des imperfections, qu'en penses -tu ?
Je m'explique : Le but c'est : 1) Je rentre une affaire avec ses infos
2) Je rentre les fournisseurs intervenant dans l'affaire avec les infos correspondantes (contact, etc..)
3) Si le nom du fournisseur n'est pas répertorié, je l'ajoute dans ma table Nom_cabinet_fournisseur
4) J'attribue une note aux fournisseurs sur plusieurs critères (en conception et en éxécution).
Mon problème est à la deuxième étape : une fois l'affaire et les infos correspondantes rentrées, je n'arrive pas à remplir ma table fournisseur car elle est liée aux autres tables (dixit l'aide access). Le but d'access étant de lier les infos entre elles j'ai du faire une erreur mais laquelle ?
Cordialement et en te remerciant à nouveau!
PS : J'ai fait une impression écran que je n'arrive pas à joindre...
La formule suivante que tu m'as donné me sert à calculer le % du nombres d'affaires notées :
SELECT (Count(Moyenne_par_Affaires.Moyenne)/(SELECT count(*) FROM Affaires)) AS PourcentAffaire
FROM Moyenne_par_Affaires;
En fait j'ai des notations par affaires en conception. Je veux savoir le nombre d'affaires ayant été notées en conception ; et ce calcul se fait semestre par semestre.
Ci joint une capture d'écran de ma structure. Je crois qu'il existe des imperfections, qu'en penses -tu ?
Je m'explique : Le but c'est : 1) Je rentre une affaire avec ses infos
2) Je rentre les fournisseurs intervenant dans l'affaire avec les infos correspondantes (contact, etc..)
3) Si le nom du fournisseur n'est pas répertorié, je l'ajoute dans ma table Nom_cabinet_fournisseur
4) J'attribue une note aux fournisseurs sur plusieurs critères (en conception et en éxécution).
Mon problème est à la deuxième étape : une fois l'affaire et les infos correspondantes rentrées, je n'arrive pas à remplir ma table fournisseur car elle est liée aux autres tables (dixit l'aide access). Le but d'access étant de lier les infos entre elles j'ai du faire une erreur mais laquelle ?
Cordialement et en te remerciant à nouveau!
PS : J'ai fait une impression écran que je n'arrive pas à joindre...
Bonjour,
Tu peux déposer ton impression d'écran sur ce site et ensuite copier/collier le lien dans ta réponse.
Exemple: http://www.cijoint.fr/cjlink.php?file=cj200907/cijn1vAFfu.jpg
A plus
Tu peux déposer ton impression d'écran sur ce site et ensuite copier/collier le lien dans ta réponse.
Exemple: http://www.cijoint.fr/cjlink.php?file=cj200907/cijn1vAFfu.jpg
A plus
http://www.cijoint.fr/cjlink.php?file=cj200907/cijOZ4ROq9.doc
Merci, j'en apprends toutes les 10 minutes avec toi c'est parfait!!
Merci, j'en apprends toutes les 10 minutes avec toi c'est parfait!!
Bonjour,
Basé sur ton écran et d'après ce que j'ai compris tu trouveras ici comment je pense que tu dois organiser tes tables.
1°) Table Affaires avec comme clé unique (Nom_Affaire)
2°) Table Coordonnées avec comme clé unique (Nom_Fournisseur)
3°) Table Fournisseurs avec comme clé unique (Nom_Affaire , Nom_Fournisseur)
4°) Table Suivi_Fournisseur avec comme clé unique (Nom_Affaire, Nom_Fournisseur, Type_De_Compétence)
Type_De_Compétence pouvant valoir C(onception) ou E(xecution)
De cette façon tu peux très facilement utiliser ta table Suivi_Fournisseur pour calculer tes moyennes,
Concernant le calcul semestre par semestre, est-ce-que tu te bases sur la date_prise_commande ou bien sur une autre date (bien que je n'ai pas vu d'autre date dans tes relations) ?
A plus
Basé sur ton écran et d'après ce que j'ai compris tu trouveras ici comment je pense que tu dois organiser tes tables.
1°) Table Affaires avec comme clé unique (Nom_Affaire)
2°) Table Coordonnées avec comme clé unique (Nom_Fournisseur)
3°) Table Fournisseurs avec comme clé unique (Nom_Affaire , Nom_Fournisseur)
4°) Table Suivi_Fournisseur avec comme clé unique (Nom_Affaire, Nom_Fournisseur, Type_De_Compétence)
Type_De_Compétence pouvant valoir C(onception) ou E(xecution)
De cette façon tu peux très facilement utiliser ta table Suivi_Fournisseur pour calculer tes moyennes,
Concernant le calcul semestre par semestre, est-ce-que tu te bases sur la date_prise_commande ou bien sur une autre date (bien que je n'ai pas vu d'autre date dans tes relations) ?
A plus
Bonjour, j'espère que le we était agréable
J'ai suivi tes conseils en partie. J'ai laissé mes 2 tables suivi-fournisseurs par contre car il serait trop long de tout recopier.
J'ai tjr le meme problème : je remplis ma table affaire : ok
Ensuite j'entre mes fournisseurs dans ma table fournisseurs mais impossible de modifier l'enregistrement car lié aux table de suivi.
Est-car je suis obligé de regroupé mes 2 tables suivi?
Cordialement,
J'ai suivi tes conseils en partie. J'ai laissé mes 2 tables suivi-fournisseurs par contre car il serait trop long de tout recopier.
J'ai tjr le meme problème : je remplis ma table affaire : ok
Ensuite j'entre mes fournisseurs dans ma table fournisseurs mais impossible de modifier l'enregistrement car lié aux table de suivi.
Est-car je suis obligé de regroupé mes 2 tables suivi?
Cordialement,
Bonjour,
Le weekend s'est très bien passé, merci.
Concernant ton problème, qu'entends-tu par modifier l'enregistrement fournisseur car lié aux tables de suivis, as-tu définis des clés étrangères ?
A plus
Le weekend s'est très bien passé, merci.
Concernant ton problème, qu'entends-tu par modifier l'enregistrement fournisseur car lié aux tables de suivis, as-tu définis des clés étrangères ?
A plus
Re,
Non j'ai défini une nouvelle clé dans ma table fournisseurs mais elle est liée à la table "cabinet fournisseur";
Mots pour mots voila ce qui est dit : "Vous ne puvez pas ajouter ou modifier un enregistrement car l'enregistrement associé est requis dans la table 'suivi fournisseurs conception'.
Ci joint une capture de mes tables & relations
http://www.cijoint.fr/cjlink.php?file=cj200907/cijNS0g8XW.doc
Non j'ai défini une nouvelle clé dans ma table fournisseurs mais elle est liée à la table "cabinet fournisseur";
Mots pour mots voila ce qui est dit : "Vous ne puvez pas ajouter ou modifier un enregistrement car l'enregistrement associé est requis dans la table 'suivi fournisseurs conception'.
Ci joint une capture de mes tables & relations
http://www.cijoint.fr/cjlink.php?file=cj200907/cijNS0g8XW.doc
Bonjour,
Selon ton schéma, tu as défini une relation "One To Many" entre Suivi Fournisseur Conception et Fournisseur basée sur ID_Affaire , cela veut dire que tu peux avoir plusieurs enregistrements dans ta table Fournisseur pour un et un seul enregistrement dans ta table Suivi Fournisseur Conception et que l'enregistrement doit d'abord existé dans cette dernière table avant d'être crée dans la table Fournisseur, donc je pense que la définition de cette relation n'est pas correcte.
1°) Ta colonne ID_Affaire est auto incrémentée?
2°) Un fournisseur peut-il être à la fois dans ta table Suivi Fournisseur Conception et Suivi Fournisseur Exécution pour le même ID_Affaire ?
A plus
Selon ton schéma, tu as défini une relation "One To Many" entre Suivi Fournisseur Conception et Fournisseur basée sur ID_Affaire , cela veut dire que tu peux avoir plusieurs enregistrements dans ta table Fournisseur pour un et un seul enregistrement dans ta table Suivi Fournisseur Conception et que l'enregistrement doit d'abord existé dans cette dernière table avant d'être crée dans la table Fournisseur, donc je pense que la définition de cette relation n'est pas correcte.
1°) Ta colonne ID_Affaire est auto incrémentée?
2°) Un fournisseur peut-il être à la fois dans ta table Suivi Fournisseur Conception et Suivi Fournisseur Exécution pour le même ID_Affaire ?
A plus
Oui un fournisseur dans ma table "fournisseurs" à un numéro auto qui lui est attribué lors de la saisie.
De meme, il a le meme Id_affaire pour les 2 tables "suivi". Effectivement avec un peu plus de recul, je pense que j'aurai du regroupé l'éxécution et la conception dans une meme table. (Manuellement j'ai du recopier les memes numéros fournisseurs dans chaque table de suivi).
Mais pour une question de visibilité j'ai préféré séparer les 2 tables.
De meme, il a le meme Id_affaire pour les 2 tables "suivi". Effectivement avec un peu plus de recul, je pense que j'aurai du regroupé l'éxécution et la conception dans une meme table. (Manuellement j'ai du recopier les memes numéros fournisseurs dans chaque table de suivi).
Mais pour une question de visibilité j'ai préféré séparer les 2 tables.