{Access 2000} Problème de requète sql

Résolu/Fermé
Signaler
Messages postés
147
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
28 juin 2013
-
Messages postés
251
Date d'inscription
vendredi 15 mai 2009
Statut
Contributeur
Dernière intervention
2 mars 2015
-
Bonjour,

Alors, voici mon problème.
Je dois calculer les frais d'un véhicule et pour ça j'ai besoin de connaître les "consommations".

Chaque mois un conducteur inscrit le nombre de kilomètres parcourus et le nombre de litres.
Il faut que je fasse cette formule: nombre de litres X 100 / les kilomètres.
Le résultat me permet de vérifier que les données entrées sont correctes.

Seul problème, parfois l'utilisateur peut faire plusieurs pleins. Il inscrit donc plusieurs fois le nombre de litres. Il faudrait que je puisse remplacer le nombre de litres par la moyenne du nombre de litres.
ça donne ça : moyenne du nombre de litres X 100 / les kilomètres.

Mais je ne sais pas du tout comment écrire la requète (SELECT) lorsque j'ai besoin de récupérer ce résultat.
Ma table: FRAIS (code_frais, nb_litres, km)

Quelqu'un aurait une idée, svp? Merci d'avance.
Gwendo.

7 réponses

Messages postés
251
Date d'inscription
vendredi 15 mai 2009
Statut
Contributeur
Dernière intervention
2 mars 2015
52
Si ce n'est "que" cette formule c'est assez trivial.
select avg(nb_litre)*100 / km from FRAIS

km = nombre de kilomètres.

Ceci dit, le problème reste étrange pour moi :

1) Le conducteur marque-t-il à chaque fois le kilométrage correspondant au plein effectué ?

Si oui, cette formule n'a plus de sens et la requête n'est pas faisable.
En effet par quel kilométrage faudrait-il diviser ? Celui du 1er plein, le 2ème, ...?

2) Le conducteur marque les différents pleins mais en notant à chaque fois le même
kilométrage global du mois.


La formule donné plus haut fonctionne. En réalité dans cette formulé, "km" correspond à la première occurence
de "km" mais puisqu'elles sont toutes pareilles pour ce conducteur et ce véhicule, ça suffit.

1
Messages postés
251
Date d'inscription
vendredi 15 mai 2009
Statut
Contributeur
Dernière intervention
2 mars 2015
52
Bonjour Gwendo69,

pourrais-tu apporter un peu plus de précisions, notamment :

1) code_frais est-il toujours le même pour un véhicule ?
(et ce, quel que soit le conducteur).

2) La moyenne que tu veux calculer, ça ne serait pas plutôt la consommation moyenne ?
Dans ce cas, c'est plutôt moyenne (nb_litre * 100 / km) calculée sur
l'ensemble des enregistrements correspondant au même code_frais [sous réserve que tu aies
répondu "oui" à la question 1).]

0
Messages postés
147
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
28 juin 2013
12
Bonjour,

Le code_frais est juste la clé primaire de la table. C'est un numéro automatique qui n'a aucune importance pour cette requère, à part pour la jointure avec la table vehicule. un vehicule peut avoir plusieurs frais et un frais correspond à un seul vehicule.

Non, c'est bien cette formule-là: ((moyenne nb_litres) X 100) / km.

J'ai re-demandé ce matin à ma collègue et m'a dit qu'elle travaille toujours avec ce résultat (si il dépasse un seuil, ça veut dire que le conducteur lui a inscrit n'importe quoi et qu'il y a une erreur si j'ai tout compris).

Le select serait tellement plus simple si c'était comme tu l'as dis. Malheureusement pour moi, c'est pas le cas, du coup je bloque complètement sur cette requète.
0
Messages postés
147
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
28 juin 2013
12
Merci,

En effet, tu parles d'un problème que je rencontre aussi.
Quand on a fait le cahier des charges, pas une seule fois on ne m'a dit que nb_litres pouvait être inscrit plusieurs fois. Pour moi, on faisait la somme des litres chaque fin de mois comme pour les kms, point barre. Je viens juste d'apprendre que non.

"1) Le conducteur marque-t-il à chaque fois le kilométrage correspondant au plein effectué ?"
Non le conducteur n'inscrit qu'une fois le total des kms à la fin du mois, mais peut inscrire plusieurs fois le nb_litres.

"2) Le conducteur marque les différents pleins mais en notant à chaque fois le même
kilométrage global du mois."

C'est une possibilité, mais ça risque de faire perdre du temps (recherche des km qu'on avait déjà inscrit)

"La formule donné plus haut fonctionne. En réalité dans cette formule, "km" correspond à la première occurence de "km" mais puisqu'elles sont toutes pareilles pour ce conducteur et ce véhicule, ça suffit."
ça ne marche pas si on l'inscrit qu'une fois?

Malheuresement, je pense que mon problème est plus important que je le pensais (plusieurs nb_litres possible avec 1 seul km).
0
Messages postés
251
Date d'inscription
vendredi 15 mai 2009
Statut
Contributeur
Dernière intervention
2 mars 2015
52
J'avoue que ça devient inutilement compliqué ton histoire.

Il faudrait que tu donnes la structure de toutes les tables impliquées dans ta requête et reformuler plus (très ?) précisément celle-ci.

Si les conducteurs peuvent rentrer plusieurs fois le nombre de litres, où est sauvegardée cette information ? (Dans quelle table). Quel enregistrement est créé à chaque fois ? (Donner la valeur de tous les champs sur un exemple). Tu devrais en principe y voir plus clair si tu comprends le principe de la chose.


"La formule donné plus haut fonctionne. En réalité dans cette formule, "km" correspond à la première occurence de "km" mais puisqu'elles sont toutes pareilles pour ce conducteur et ce véhicule, ça suffit."

ça ne marche pas si on l'inscrit qu'une fois ?
Un moyen simple de le savoir est de tester.



"La connaissance s'acquiert par l'expérience[...]"


Bon courage.
0
Messages postés
147
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
28 juin 2013
12
Merci, merci.
Je ne suis pas à l'entreprise avant lundi. Je retravaillerai là-dessus à ce moment-là.
Encore désolée pour le dérangement.
0
Messages postés
147
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
28 juin 2013
12
Merci, problème résolu.
En faisant pleins de tests et en m'appuyant sur tes requêtes, ça a fini par marcher.
Merci encore.
0
Messages postés
251
Date d'inscription
vendredi 15 mai 2009
Statut
Contributeur
Dernière intervention
2 mars 2015
52
Content pour toi.

Bonne continuation.
0