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

Requêtes et SQL. Discussion :

Calculs en cascade


Sujet :

Requêtes et SQL.

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Calculs en cascade
    Bonjour,
    Je ne sais pas si mon titre est bien précis, je développe mon problème. Je me casse la tête pour arriver à faire un calcul dans une requête (je pourrais la faire en VBA, mais il me semble que cela doit être faisable en requête) :
    Cela concerne des lignes de factures.
    J'ai 2 tables :
    - Table Lignes Article (Quantités, Prix etc.... )
    - Table Lignes Services (N° de Ligne Article, Montant Service, Quantité Service, Type (Montant ou %), etc...
    Le principe de fonctionnement de mes factures :
    1 Ligne Article par Produit
    X Lignes Services par Ligne Article.
    Le calcul des Services se font en cascade :
    - LigneArticle01 : 5 Articles * 100€ = 500€
    - LigneService01 : LigneArticle01 - 10€ = SoldeRemise01
    - LigneService02 : SoldeRemise01 - 5% (le bon calcul est (500-10)-5%
    Pour chaque Article, chaque ligne service a un index incrémenté, et je dois donc faire les calculs en cascade.
    Comment puis-je créer un solde cumulé ligne par ligne, avec une rupture lorsque je change d'article ?
    Je n'arrive pas à retrouver mes petits avec SomDom...
    Je ne sais pas si j'ai été clair....
    Merci pour vos avis sur ce problème

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 339
    Points : 23 799
    Points
    23 799
    Par défaut
    DSum("TonChamp";"TaTable";"TonCritere") ou ton critère décrit tous les éléments qui doivent être cummulé. ex : "[taClef]<=" & [TaClef] va additionner tous les enregistrements dont la clef est inférieure ou égale à la clef courante.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci pour ta réponse.
    Cela fonctionne, j'avais juste oublié les ' dans la concaténation du critère "N° de Commande" qui est alphanumérique.
    Par contre, je me retrouve vide avec des références circulaires...
    Je crois que ce que je veux est impossible à faire en requête, je vais me faire ça en vba...

Discussions similaires

  1. Comment réaliser des calculs en cascade
    Par gambi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/12/2013, 20h14
  2. Problème de performance sur un calcul en cascade
    Par mars13008 dans le forum SQL
    Réponses: 11
    Dernier message: 19/04/2011, 11h38
  3. Réponses: 6
    Dernier message: 27/06/2009, 08h47
  4. Réponses: 13
    Dernier message: 30/01/2008, 14h46
  5. UPDATE colonnes calculée en cascade
    Par PickEpique dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 25/06/2007, 19h06

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