Requête

Résolu/Fermé
jccorteccia Messages postés 6 Date d'inscription mardi 10 décembre 2019 Statut Membre Dernière intervention 3 octobre 2020 - 24 sept. 2020 à 23:50
jccorteccia Messages postés 6 Date d'inscription mardi 10 décembre 2019 Statut Membre Dernière intervention 3 octobre 2020 - 3 oct. 2020 à 18:02
Bonjour,
J'aimerai réaliser sous requête Acces, le tableau Excel ci dessous.
Afin d'obtenir dans un champ cumul Annuel l'état du compte dans une année donnée.
Colonne F
NumAn NomLoc SoldePasse SoldeAnnuel Cumul annuel
F4 2020 S… -4187,2 -4 356,00 - 14 951 € SOMME(F4:F13)
F5 2019 S… -2538,59 -4 187,20 - 10 595 € SOMME(F5:f13)
F6 2018 S… -2764,17 -2 538,59 - 6 407 € SOMME(F6:f13)
F7 2017 S… -202,42 -2 764,17 - 3 869 € SOMME(F7:f13)
F8 2016 S… -1040,99 -202,42 - 1 105 € SOMME(F8:f13)
F9 2015 S… 46,53 -1 040,99 - 902 € SOMME(F9:f13)
F10 2014 S… 3,24 46,53 139 € SOMME(F10:f13)
F11 2013 S… 72,94 3,24 092 € SOMME(F11:f13)
F12 2012 S… 16,1467 72,94 0 89 € SOMME(F12:f13)
F13 2011 S… 0 16,15 016 € SOMMEf13)
D'avance MERCI
Cordialement
JCC



Configuration: Windows / Edge 85.0.564.51

12 réponses

yg_be Messages postés 23352 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2024 Ambassadeur 1 554
25 sept. 2020 à 12:14
bonjour,
as-tu déjà créé la table dans Access?
0
yg_be Messages postés 23352 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2024 1 554
25 sept. 2020 à 12:25
probablement ainsi:
select t1.NumAn as annee, sum(t2.SoldeAnnuel) as cumul
from source as t1, source as t2
where t2.NumAn <= t1.NumAn
group by t1.NumAn
0
yg_be Messages postés 23352 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2024 1 554 > yg_be Messages postés 23352 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2024
Modifié le 25 sept. 2020 à 19:45
@jccorteccia
je t'ai propose une solution, cela t'a-t-il été utile?
0
Bonjour,
Tu m'a déjà bien dépanné par le passé.
A l'aide d'une requête qui combine des recettes et des dépenses du locataire j'ai crée une table "solde annuel" qui regroupe année après années le solde annuel de chaque locataire.
Pour connaitre le solde à l'année N je dois effectuer le cumul des soldes des années précédentes.
Pour une année donnée Le cumul solde de l'année n-1 + le solde annuel de l'année en cours me donnera le solde de cette année.
Dans ma requête cumul des soldes en actionnant la touche "totaux" j'obtiens pour un locataire donné le total du pour l'ensemble des années. Je voudrais l'avoir année après année.
Espérant avoir été clair, un grand merci par avance
Cordialement
0
Un exemple vaut mieux qu'un long discours

Champs crées dans acces Champ cumul à créer
180920 2020 Sahihi - 4 356 € - 14 951 €
180919 2019 Sahihi - 4 187 € - 10 595 €
180918 2018 Sahihi - 2 539 € - 6 407 €
180917 2017 Sahihi - 2 764 € - 3 869 €
180916 2016 Sahihi - 202 € - 1 105 €
180915 2015 Sahihi - 1 041 € - 902 €
180914 2014 Sahihi 047 € 139 €
180913 2013 Sahihi 003 € 092 €
180912 2012 Sahihi 073 € 089 €
180911 2011 Sahihi 016 € 016 €
-14 950,51 €
Merci de m'éclairer
Cordialement
0
BonjouYG_BE
Comme pour les demandes passées, cela fonctionne parfaitement.
J'ai repris dans une base d'essai les éléments utiles, tables, requêtes etc
Et tout va bien.
MERCI, merci, MERCI
Cordialement Cela va nettement améliorer ma programmation
jccorteccia
0
yg_be Messages postés 23352 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2024 1 554
26 sept. 2020 à 21:52
parfait, content d'avoir pu t'aider.
peux-tu marquer la discussion comme résolue?
0

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

Posez votre question
Bonjour,
Petit complément d'information qui améliorerait encore un peu plus.
La formule à partir d'une table fonctionne, comme faire à partir d'une requête.
J'ai essayé sans succès. Après je marquerai résolu.
Cordialement.
0
yg_be Messages postés 23352 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2024 1 554
28 sept. 2020 à 12:18
qu'as-tu essayé, quel résultat as-tu obtenu?
0
Bonjour,
Je vais synthétiser.
Dans mon cheminement, je parviens à une requête qui me calcule le "soldeAnnuel dans une requête soldes.
A partir de cette recette soldes je crée une table soldes qui me permet d'avoir le champ solde Annuel et le champ cumul de l'année, à qui j'applique ta formule.
Il serait plus pratique de passer directement à partir de la requête soldes et obtenir le champ cumul.
EX.
select t1.NumAn as annee, sum(t2.SoldeAnnuel) as cumul
from Soldes as t1, Soldes as t2
where t2.NumAn <= t1.NumAn
group by t1.NumAn

Mais où le calcul obtenu est faux ou le solde Annuel et le cumul sont les mêmes ou le programme recherche une base de données.
Je vais continuer à charger, mais tu as certainement une idée.
D'avance MERCI.
Cordialement
0
yg_be Messages postés 23352 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2024 1 554
29 sept. 2020 à 14:52
je comprends très peu:
- comment peux-tu avoir une requête et une table ayant le même nom, "soldes"?
- tu écris que la table soldes a déjà un champ cumul, alors pourquoi vouloir encore le calculer?
- tu ne montres pas la source SQL de la requête soldes
- je ne comprends pas ce que signifie "ou le programme recherche une base de données"
- tu écris "le solde Annuel et le cumul sont les mêmes". où? dans la réponse à quelle requête? lequel est correct?
0
Je vais essayer d'être plus clair
démarrons à la requête "Soldes", elle est établie.
1) Création à partir de cette requête "Soldes" d'une table "CreaSoldes" à l'aide d'une requête création de table
2) A l'aide de la table "CreaSoldes" et en utilisant ta formule, je crée la requête "CumulSoldes"
3) Je peux intégrer à mon programme les champs de "CumulSoldes"
Est-il possible pour automatiser mieux le programme de supprimer les étapes 2 et 3 pour passer directement de la requête "Soldes" à la requête "CumulSoldes", en utilisant dans ta formule une requête au lieu d'une table.
Cela n'est peut-être pas possible.
Je continue de chercher.
0
yg_be Messages postés 23352 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2024 1 554
29 sept. 2020 à 17:25
as-tu essayé l'exemple en #10?
0
Bonjour,
Pour faire encore plus simple.
Est ce que la formule
<ital>select t1.NumAn as annee, sum(t2.SoldeAnnuel) as cumul
from source as t1, source as t2
where t2.NumAn <= t1.NumAn
group by t1.NumAn
peut fonctionner avec "source" = une requête
avec "source"= une table cela fonctionne parfaitement
Merci de me répondre
cordialement
0
Il y avait une erreur de frappe.
Bonjour,
Pour faire encore plus simple.
Est ce que la formule
select t1.NumAn as annee, sum(t2.SoldeAnnuel) as cumul
from source as t1, source as t2
where t2.NumAn <= t1.NumAn
group by t1.NumAn
peut fonctionner avec "source" = une requête
avec "source"= une table cela fonctionne parfaitement
Merci de me répondre
cordialement
0
yg_be Messages postés 23352 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2024 1 554
2 oct. 2020 à 18:37
bien sûr, on peut utiliser une requête comme source.
0
J'applique la formule que tu m'as fourni
SELECT t1.[Numéro Commun], t1.NumAn AS annee, t1.NomLoc, t1.[Solde Annuel], Sum(t2.[Solde Annuel]) AS SoldAn
FROM [9 - Les Soldes Annuels] AS t1 INNER JOIN [9 - Les Soldes Annuels] AS t2 ON t1.NomLoc = t2.NomLoc
WHERE (((t2.NumAn)<=[t1].[NumAn]))
GROUP BY t1.[Numéro Commun], t1.NumAn, t1.NomLoc, t1.[Solde Annuel], t1.[Solde Annuel]
ORDER BY t1.NumAn DESC;
A partir de la table: [9 - Les Soldes Annuels] et cela fonctionne.

SELECT t1.[Numéro Commun], t1.NumAn AS annee, t1.NomLoc, t1.[Solde Annuel], Sum(t2.[Solde Annuel]) AS SoldAn
FROM [50 - RQ - Compte Annuel Locataires] AS t1 INNER JOIN [50 - RQ - Compte Annuel Locataires] AS t2 ON t1.NomLoc = t2.NomLoc
WHERE (((t2.NumAn)<=[t1].[NumAn]))
GROUP BY t1.[Numéro Commun], t1.NumAn, t1.NomLoc, t1.[Solde Annuel], t1.[Solde Annuel]
ORDER BY t1.NumAn DESC;
A partir de la requête [50 - RQ - Compte Annuel Locataires] Ne fonctionne pas.
Bien évidemment le champ [Solde Annuel] est présent dans la table et la requête.
Je suis un peu perdu.
Merci d'avance.
0
yg_be Messages postés 23352 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2024 1 554
2 oct. 2020 à 22:54
"Ne fonctionne pas" ne me permet évidemment pas de me faire une idée de ce qui ne fonctionne pas.

il serait très utile que tu prennes un peu de temps et d'énergie pour lire ceci: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

ce qui t'aurais permis de nous présenter ceci:
SELECT t1.[Numéro Commun], t1.NumAn AS annee, t1.NomLoc, t1.[Solde Annuel], 
      Sum(t2.[Solde Annuel]) AS SoldAn
FROM [50 - RQ - Compte Annuel Locataires] AS t1 
       INNER JOIN [50 - RQ - Compte Annuel Locataires] AS t2 
       ON t1.NomLoc = t2.NomLoc
WHERE (((t2.NumAn)<=[t1].[NumAn]))
GROUP BY t1.[Numéro Commun], t1.NumAn, t1.NomLoc, t1.[Solde Annuel], t1.[Solde Annuel]
ORDER BY t1.NumAn DESC;


je suggère que, avant d'ajouter des champs supplémentaires, tu commences par tester ma suggestion.
et que tu nous montres le résultat obtenu.
0
jccorteccia Messages postés 6 Date d'inscription mardi 10 décembre 2019 Statut Membre Dernière intervention 3 octobre 2020
2 oct. 2020 à 23:44
Même réponse qu'avant. Pourtant tout me semble logique.

Lorsque j'indique ne fonctionne pas c'est que la requête ne s'ouvre pas et j'ai l'affichage ci-dessous
Sélectionner la source de données
Source de données fichier Source de données machine
Regarder dans document
Affichage de tous mes documents. Comme lorsque j'ouvre mes documents.
Nom de source de données Nouveau
Sélectionner la source de données fichier qui décrit le pilote auquel vous souhaitez vous connecter.
Vous pouvez utiliser toutes sortes de données fichier faisant référence à un pilote ODBC installé sur votre machine
OK Annuler Aide

J'ai lu les codes à première lecture cela me semble hors de mes possibilités mais j'essayerai encore demain.
0
yg_be Messages postés 23352 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2024 1 554
3 oct. 2020 à 13:33
je pense que tu ne crées pas correctement la requête. peux-tu partager soit des images de ce que tu fais, soit ton fichier, avec la requête sauvée dans le fichier?
0
yg_be Messages postés 23352 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2024 1 554 > yg_be Messages postés 23352 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2024
3 oct. 2020 à 13:46
il me semble que tu avais eu le même genre de soucis avec la création de requêtes fin 2019. et que tu t'en étais finalemet sorti.
0
jccorteccia Messages postés 6 Date d'inscription mardi 10 décembre 2019 Statut Membre Dernière intervention 3 octobre 2020
3 oct. 2020 à 18:02
Bonsoir,
Bien que je ne parvienne pas à insérer une image à cet endroit.
Grâce à tes conseils, un peu de lecture, et une meilleure compréhension, je suis enfin arrivé à mes fins.
J'ai une base qui me donne satisfaction.
Peut être d'ici quelque temps j'aurai une idée d'amélioration et bien évidemment si je ne m'en sors pas je reviendrai vers toi.
Un très grand MERCI et bonne continuation, c'est sympa d'aider les autres.
0