Soustraction dans une requete

Résolu/Fermé
debutante66 Messages postés 1271 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 14 novembre 2021 - 18 mai 2018 à 14:29
yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 - 20 mai 2018 à 18:50
Bonjour,

je souhaite faire la soustraction de deux lignes dans une meme colonne, est-ce possible dans Access ?
cest pour gerer des releves de compteurs d'eau et calculer le prix a payer par chaque personne de l'immeuble,

jusqu'a maintenant je faisais ca dans excel, assez facile à manipuler, mais je voudrais automatiser cette tache de facon a editer une facture par personne à la date du releve(etat)

mon exemple de requete
nomresident date releve indice compteur consommation prix m3 prix total
dupond 10/01/2018 220
dupond 10/03/2018 225 5 3,00 15,00
dupond 10/05/2018 233 8 3,10 24,80

la colonne consommation, je voudrais faire le calcul une ligne(indice compteur) moins la precedente, le prix M3 je le saisis, et le prix total se calculera tout seul.

merci bien à ceux qui pourront m'aider, je manipule access mais pour des choses simples, style somme, totaux, moyenne, etc

Marie

4 réponses

yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471
18 mai 2018 à 21:39
bonsoir marie, suggestion de requête:
select c.compteur, cc.dt as du , c.dt as au,  c.val-cc.val as delta
from cpt as c,
 (SELECT c1.compteur, c1.dt,  min(c2.dt) as mindt2 , c1.val
FROM cpt as c1, cpt AS c2
where c1.compteur=c2.compteur and c1.dt < c2.dt
group by c1.compteur, c1.dt, c1.val
) as cc
where c.compteur=cc.compteur and c.dt=cc.mindt2
order by c.compteur, cc.dt
0
debutante66 Messages postés 1271 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 14 novembre 2021 200
19 mai 2018 à 10:01
Bonjour yg_be
Merci bcp de mavoir repondu.... euh ... comment dire ? Jai limpression de voir des hiéroglyphes. ... mdr.... tout ce texte je lecris ou svp ?
0
yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471 > debutante66 Messages postés 1271 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 14 novembre 2021
19 mai 2018 à 11:48
peux-tu partager ton fichier?
0
debutante66 Messages postés 1271 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 14 novembre 2021 200
19 mai 2018 à 17:30
bonjour
comment dois je faire pour joindre ma base ? jai fait une copie

sinon jai essayé ta proposition,
dans la requete je me suis mise en mode sql et jai copié collé ta formule, il me met le message suivant :
objet trouvé après instruction sql

jaimerais apprendre à le faire ,

merci de ta patience
0
yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471 > debutante66 Messages postés 1271 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 14 novembre 2021
19 mai 2018 à 17:44
si tu veux apprendre et donc es prête à bricoler, n'envoie pas ton fichier pour le moment.
as-tu remplacé le texte complet par le texte sql que j'ai proposé?
souvent, en cas d'erreur, le texte erroné est surligné, ou le curseur se trouve proche de l'erreur.
quand la requête fonctionnera, tu pourras soit l'enrichir, soit l'utiliser comme source dans d'autres requetes.
0
debutante66 Messages postés 1271 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 14 novembre 2021 200
19 mai 2018 à 17:58
oui je veux bien bidouiller ... mdr
je viens de remplacer le texte complet par le tien et cela me donne :
le moteur de bases de donnees microsoft acccess ne peut pas trouver la table ou la requete source "cpt" assurez vous qu elle existe et qu elle est correctement orthographiee.

pour info, ma requete s'appelle "calcul consommation"
et mes champs : "nom copro", "date relevé" et "indice compteur".
faudrait peut etre que j'adapte certains mots à ma requete dans ton texte ? mais lesquels ?
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
18 mai 2018 à 23:14
bonjour
a ma connaissance mais tu peux faire 2 colonnes ancien indice et nouvel indice
faire la soustraire dans une troisieme
0
debutante66 Messages postés 1271 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 14 novembre 2021 200
19 mai 2018 à 10:04
Bonjour Castours.
Je retiens ton idee si toutefois je narrive pas a faire comme je le souhaite..... ce qui mennuie en ayant une double saisie cest autant de possibilité d erreurs... bon we de pentecote
0
yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471
19 mai 2018 à 18:15
ou bien:
SELECT c.compteur, c.dt, c.val, c.val-cc.val AS delta, M3, M3*(c.val-cc.val) AS prix
FROM cpt AS c 
LEFT JOIN
 (SELECT c1.compteur, c1.dt, c1.val, min(c2.dt) AS suiv FROM cpt AS c1, cpt AS c2 
WHERE c1.compteur=c2.compteur and c1.dt < c2.dt 
GROUP BY c1.compteur, c1.dt, c1.val)  AS cc 
ON (c.dt=cc.suiv) AND (c.compteur=cc.compteur)
ORDER BY c.compteur, cc.dt;
0
debutante66 Messages postés 1271 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 14 novembre 2021 200
19 mai 2018 à 18:23
je viens de mettre ton texte et il me renvoie toujours le meme message d erreur .

moi je crois que je dois adapter avec le nom reel de mes champs mais je ne vois pas ou ?
que veut dire c.compteur ? c.dt ? c.val ? c1 ? c2 ? cc.compteur ?
comme je ne connais pas le langage sql je suis un peu perdue

comment je peux faire pour t'envoyer mon fichier ?
0
yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471 > debutante66 Messages postés 1271 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 14 novembre 2021
19 mai 2018 à 18:38
cette nouvelle requête doit être adaptée à tes noms, en effet. je pense qu'elle te donnera un résultat plus proche de ce que tu attends (par rapport à la requête initiale que je t'ai proposée).
je n'utilise pas le fichier que tu as envoyé, je pense que tu apprendras plus si tu fais toi-même. tout m'indique que tu vas bientôt y arriver.
0
yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471
20 mai 2018 à 10:54
tout autre chose: je pense mieux d'avoir un champ [no copro] au lieu de [Nom Copro] dans la table [saisie des compteurs].
0