IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Calculs de solde


Sujet :

Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 22
    Points : 6
    Points
    6
    Par défaut Calculs de solde
    Bonjour à tous,

    Je dois élaborer un système de facturation avec une récap clients. Je dois faire apparaître les soldes (évolutifs) en tenant compte de chaque ligne du tableau.
    J'ai consulté quelques réponses sur les forums mais sans résultat convainquant.
    Quelqu'un aurait-il une solution claire à ce sujet?
    Idem pour une échéance 30j fin de mois?

    Je vous en remercie par avance.

    Albert

  2. #2
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2017
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2017
    Messages : 508
    Points : 770
    Points
    770
    Par défaut
    Bonsoir, on va s'appuyer sur quoi pour t'aider? Poste un bout de code ou capture d'écran.

    Cordialement.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 22
    Points : 6
    Points
    6
    Par défaut
    Bonsoir,
    dates montant soldes
    ex: 1/1/2018 1000€ 1000€
    10/1/2018 500€ 1500€
    20/2/2018 -700€ 800€

    Merci

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 22
    Points : 6
    Points
    6
    Par défaut Calcul de soldes progressifs...
    Je réitère l'exemple des soldes progressifs:

    Date Montant Solde
    01/02/2018 1500 1500
    28/02/2018 2000 3500
    10/03/2018 1200 4700
    31/03/2018 -800 3900

    J'ai déjà consulté les forums mais rien de convaincant.

    Merci pour votre aide.

  5. #5
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 342
    Points : 19 581
    Points
    19 581
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    Il vous faut faire une requête basée sur votre table, et utiliser une sous-requête dans la requête principale pour le calcul du cumul, un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT T_Facture.DateFacture, Sum(T_Facture.MontantHT) AS Montant, (select Sum(MontantHT) as s from T_Facture AS T1  where (T1.DateFacture<=T_Facture.DateFacture)) AS Cumul
    FROM T_Facture
    GROUP BY T_Facture.DateFacture
    ORDER BY T_Facture.DateFacture;
    Cdlt,

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 22
    Points : 6
    Points
    6
    Par défaut Calcul de soldes progressifs...
    Citation Envoyé par User Voir le message
    Bonjour,

    Il vous faut faire une requête basée sur votre table, et utiliser une sous-requête dans la requête principale pour le calcul du cumul, un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT T_Facture.DateFacture, Sum(T_Facture.MontantHT) AS Montant, (select Sum(MontantHT) as s from T_Facture AS T1  where (T1.DateFacture<=T_Facture.DateFacture)) AS Cumul
    FROM T_Facture
    GROUP BY T_Facture.DateFacture
    ORDER BY T_Facture.DateFacture;
    Cdlt,
    Bonjour,

    Merci pour votre retour.

    Une question: s désigne quoi? solde par exemple? Et T1 la sous requête ? Je peut laisser ce nom tel quel?
    Concrètement, ce code s'intègre dans un module?

    Merci pour votre aide.

  7. #7
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 342
    Points : 19 581
    Points
    19 581
    Billets dans le blog
    65
    Par défaut
    Rebonjour,

    Citation Envoyé par albahl Voir le message

    Une question: s désigne quoi? solde par exemple? Et T1 la sous requête ? Je peut laisser ce nom tel quel?
    T1 est un alias, il permet de renommer la table, pour faire référence à une ligne de la sous-requête et pouvoir comparer, la ligne courante de la requête principale avec chacune des lignes de la sous-requête avec le critère (T1.DateFacture<=T_Facture.DateFacture) :


    S n'a pas d'importante, c'est aussi un alias.

    Citation Envoyé par albahl Voir le message
    Concrètement, ce code s'intègre dans un module?
    Il faut copier le code dans l'éditeur SQL :

    Nom : editeur_sql.jpg
Affichages : 1064
Taille : 161,8 Ko

    Cdlt,

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 22
    Points : 6
    Points
    6
    Par défaut Calcul de soldes progressifs...
    Ci-joint, la requête avec un message d'erreur!

    Imp_rép.pdf

    Encore merci.

  9. #9
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 342
    Points : 19 581
    Points
    19 581
    Billets dans le blog
    65
    Par défaut
    Il doit manquer un crochet sur le critère de la sous-requête :

    ... where (T1.[Date Facturation]<=T_Facture.[Date Facturation]))

    Cdlt,

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 22
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par User Voir le message
    Il doit manquer un crochet sur le critère de la sous-requête :

    ... where (T1.[Date Facturation]<=T_Facture.[Date Facturation]))

    Cdlt,
    Bonjour,

    Je reviens avec un peu de retard.

    Voici le résultat. Pas concluant.

    Autre solution? Ou avec le SQL INTO? Quelle serait la syntaxe exacte?

    Merci d'avance.

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 22
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Je reviens avec un peu de retard.

    Voici le résultat. Pas concluant.

    Autre solution?

    Merci d'avance.
    [/QUOTE]

    J'oubliais le fichier!

    Imp_Res_Soldes.pdf
    Images attachées Images attachées

  12. #12
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Salut
    Dans votre dernière pj (post#11) il y a toujours l'erreur du crochet indiquée par User que je salue au passage.
    Éventuellement une autre méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT tblFacture.idFact, tblFacture.dateFact, tblFacture.montant, CDbl(DSum("montant","tblFacture","[idFact]<=" & [idFact])) AS Solde
    FROM tblFacture;
    Images attachées Images attachées  

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 22
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par hyperion13 Voir le message
    Salut
    Dans votre dernière pj (post#11) il y a toujours l'erreur du crochet indiquée par User que je salue au passage.
    Éventuellement une autre méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT tblFacture.idFact, tblFacture.dateFact, tblFacture.montant, CDbl(DSum("montant","tblFacture","[idFact]<=" & [idFact])) AS Solde
    FROM tblFacture;
    Bonsoir et merci pour votre réactivité,

    Je n'arrive pas à reconstituer le code complet: en fait, j'aurais voulu inclure ce code dans un état à partir d'une requête, pour réaliser votre exemple, pourriez-vous me communiquer le code complet?

    Merci à vous.

  14. #14
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Ce n'est pas du "code" proprement dit.
    Ce n'est qu'une syntaxe SQL d'une requête basée sur la table tblFacture composée de 3 champs idFact, dateFact et montant et de la fonction DSum() pour calculer le solde à chaque ligne d'opération.
    Et créer un état à partir de la requête, dont la syntaxe est fournie dans le post précédent, ne doit poser aucun problème.
    Sinon, une autre syntaxe SQL, dont la clause est basé cette fois-ci sur les dates de la table.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT tblFacture.idFact, tblFacture.dateFact, tblFacture.montant, CCur(DSum("montant","tblFacture","[dateFact]<=#" & Format([dateFact],"mm/dd/yyyy") & "#")) AS Solde
    FROM tblFacture;
    Images attachées Images attachées  

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 22
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par hyperion13 Voir le message
    Ce n'est pas du "code" proprement dit.
    Ce n'est qu'une syntaxe SQL d'une requête basée sur la table tblFacture composée de 3 champs idFact, dateFact et montant et de la fonction DSum() pour calculer le solde à chaque ligne d'opération.
    Et créer un état à partir de la requête, dont la syntaxe est fournie dans le post précédent, ne doit poser aucun problème.
    Sinon, une autre syntaxe SQL, dont la clause est basé cette fois-ci sur les dates de la table.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT tblFacture.idFact, tblFacture.dateFact, tblFacture.montant, CCur(DSum("montant","tblFacture","[dateFact]<=#" & Format([dateFact],"mm/dd/yyyy") & "#")) AS Solde
    FROM tblFacture;
    Bonjour,


    Ci-joint, l'exemple pour lequel ça ne fonctionne pas.
    Ex_Soldes.pdf


    Le problème se pose encore, j'avais mal formulé ma demande:

    Société Date facturation TTC Montant(règlement) Solde

    Une boite de dialogue sélectionne les dates (début et fin) et une liste déroulante les clients. Jusque là cela fonction très bien.

    Il faudrait que pour la sélection de clients ou Société le solde se cumule en fonction des lignes propres à chaque Société.


    Encore merci pour votre participation et votre réactivité. Excellent site et non moins excellents participants!

  16. #16
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut

    captures d'écran des tbl concernées svp
    ps : éviter de répondre avec citation svp

    EDIT : vous pouvez vous inspirer de ce travail (In/Out)=(Depenses/Recettes) ou de cette discussion.

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 22
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Je vais me service de cet exemple!


  18. #18
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 22
    Points : 6
    Points
    6
    Par défaut Utilisation de ADDNEW
    Bonjour,

    Pourquoi en utilisant AddNew dans access, il y a un double enregistrement?

    Merci

Discussions similaires

  1. Calcul de solde
    Par AgriPhilou dans le forum Modélisation
    Réponses: 10
    Dernier message: 12/06/2008, 09h33
  2. Calcul de solde comme dans Excel
    Par AgriPhilou dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 22/05/2008, 06h30
  3. Calcul du solde de tout compte après la démission.
    Par Elvina dans le forum Démission
    Réponses: 2
    Dernier message: 05/06/2007, 19h41
  4. Calcul de soldes provenant de données d'un bdd access
    Par ShortcutZ dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/08/2006, 19h23
  5. Requete SQl, calcul du solde d'un compte
    Par nerick dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 02/02/2006, 22h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo