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 :

Erreur de calcul dans les requêtes [AC-2003]


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 115
    Points : 58
    Points
    58
    Par défaut Erreur de calcul dans les requêtes
    Bonjour à tous,

    J'ai un problème de calcul dans un formulaire.

    Celui-ci comporte 3 sous-formulaires en format feuilles de données: Fournitures (dans lequel je liste les produits vendus), main d'oeuvre (1 ligne comportant le prix/h, la quantité et le montant total HT), déplacement (1 ligne comportant le prix/forfait, la quantité et le montant total HT)

    Pour chacun de ces sous-formulaires il existe une table et une requête pour calculer le montant HT

    J'ai créé une requête qui calcule la somme de ces 3 montants (SommeDeHT, SommeDeHT2, SommeDeHT3)

    Puis une requête qui calcule le montant TTC
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Total HT:[SommeDeHT]+[SommeDeHT2]+[SommeDeHT3]; TVA:[Total HT]*[TVA]; TTC:[Total HT]+[TVA]
    Et le problème est le suivant : si j'enregistre un produit dans le sous-formulaire fournitures je n'ai pas de problème, mais dès lors que j'enregistre plusieurs produits (donc plusieures lignes), le HT dans la requête "montant TTC" multiplie la main d'oeuvre et les déplacement autant de fois qu'il y a de lignes de produits.

    J'avoue ne pas comprendre ce qu'il se passe, donc si vous pouvez m'aider...

    Ortiz

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 108
    Points : 5 231
    Points
    5 231
    Par défaut
    Bonjour,

    Il faudrait montrer tes requêtes pour voir où est l'erreur...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 115
    Points : 58
    Points
    58
    Par défaut Détail requêtes
    Voici le détail des requêtes qui constitue le formulaire :

    RQ-DETAIL DEVIS (T-Devis)

    IDDetailDevis/IDDevis/IDFournisseur/Produit/PrixAchat/Coef/PrixVente:[PrixAchat]*[Coef]/Quantite/[Total HT:[PrixVente]*[Quantite]

    RQ-MO (T-MO)

    IDDevis/Maind'oeuvre/Quantite/Total HT2:[Maind'oeuvre]*[Quantite]

    RQ-DEPLACEMENT (T-Deplacement)

    IDDevis/Forfait15kms/Quantite/Prixkm/Quantite2/Total HT3[Forfait15kms]*[Quantite])+([Prixkm]*[Quantite2])

    RQ TOTAL HT DEVIS (T-Devis + RQ-DETAIL DEVIS + RQ-MO + RQ-DEPLACEMENT)

    IDDevis /Total HT/Total HT2/Total HT3
    Opération: regroupement/somme/somme/somme

    RQ TOTAL TTC DEVIS (T-CLIENT + T-DEVIS + T-TVA + RQ TOTAL HT DEVIS)

    IDDevis/IDClient/SommeDeTotal HT/SommeDeTotal HT2/SommeDeTotal HT3/TVA/Montant HT:[SommeDeTotal HT]+[SommeDeTotal HT2]+[SommeDeTotal HT3]/ Total TVA:[Montant HT]*[TVA]/100/ Montant TTC:[Montant HT]+[Total TVA]

    Voilà...

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 108
    Points : 5 231
    Points
    5 231
    Par défaut
    J'en sais pas beaucoup plus, j'attendais un code genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select sum(machin) where bidule
    Il y a peut-être une erreur dans le calcul de sommeHT2 ou dans l'articulation entre tes sous-formulaires. En effet l'ajout d'articles ne devrait pas multiplier les lignes de déplacement et apparemment ça le fait

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 115
    Points : 58
    Points
    58
    Par défaut
    Je n'ai pas de code comme dans ton exemple.

    je ne vois pas où pourrait être l'erreur dans la somme HT2, il me semble avoir écrit les bonnes requêtes.

    Mais il n'y a pas que les lignes déplacement qui se multiplies il y a aussi celles de la main d'oeuvre.

    Si j'enregistre 3 articles dans le sous-formulaire fournitures, la ligne de MO et celle de déplacement sont chacune multipliées par 3, exemple :
    j'ai 3 produits à 20€/pce (soit 60 € HT) + 1h de MO (soit 10€ HT) + 1 déplacement (10 € HT) et bien le total HT du devis est de 120 € (60 € de fournitures + 30 € de MO (3x10€) + 30 € de déplacement (3x10€)) au lieu de 80 € !

    C'est pas bizard çà ?

    Donc je n'arrive pas a résoudre le problème car je ne comprend pas ce qui perturbe le calcul...

  6. #6
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 108
    Points : 5 231
    Points
    5 231
    Par défaut
    Il y a peut-être une requête qqpart avec le champ article en trop, ce qui fait qu'il a autant de lignes de déplacements que d'articles

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 115
    Points : 58
    Points
    58
    Par défaut l'erreur vient du coef
    Rectification

    Je viens de bidouiller le devis en manipulant les quantités, le coef, etc...

    et donc je m'aperçois que si le coef multiplicateur des produits est de 1 le total HT (produit+MO+déplacement) est juste (même si plusieurs lignes de produits sont enregistrées) et ça cafouille dès que le coef n'est plus 1 (1.2 ou 1.7 ou 2...), là le HT du produit ligne par ligne est juste (selon le coef appliqué) mais la MO et le déplacement sont multipliés par 2 donc voir exemple cité dans mon post précédent.

    Toujours zarbi non ?

    Quelqu'un à une idée ?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 115
    Points : 58
    Points
    58
    Par défaut ...et de la quantité
    Ajout à ma rectification précédente.

    Etant donné que le coef multiplicateur est basé sur les mêmes critères que la quantité j'ai constaté également que ça cafouille avec la quantité.

    Donc si la coef est 1 mais la quantité est 2, le HT est faux.

    En fait il n'y a que quand le coef et la quantité sont = à 1 que le HT total est juste...

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 115
    Points : 58
    Points
    58
    Par défaut REPONSE
    Bon, je m'auto-répond mais ça pourra peut-être servir pour d'autres personnes qui rencontreront ce problème.

    Dans le détail des requêtes plus haut, j'avais une requête qui calculait les 3 montant HT des 3 sous-formulaires. Et bien c'est là que sa clochait; en effet il faut créer une requête par sous-formulaire et là plus de problème.

    c'est magique mais un peu prise de tête aussi...
    ... c'est ACCESS !!!

    merci pour votre aide.
    Ortiz

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calculer des moyennes dans les requêtes
    Par said2n dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 02/07/2008, 13h12
  2. Erreur de calcul dans une requête
    Par cofi30 dans le forum IHM
    Réponses: 2
    Dernier message: 24/01/2008, 14h44
  3. calcul dans les requêtes et left join
    Par jejeman dans le forum Requêtes
    Réponses: 5
    Dernier message: 13/07/2007, 15h34
  4. Accents non pris en compte dans les requêtes SELECT
    Par YanK dans le forum Requêtes
    Réponses: 1
    Dernier message: 30/08/2005, 10h57
  5. calcul dans une requête
    Par blaz dans le forum Langage SQL
    Réponses: 8
    Dernier message: 22/12/2003, 10h31

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