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 :

Calcul d'une différence de sommes dans une requête


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 56
    Points : 46
    Points
    46
    Par défaut Calcul d'une différence de sommes dans une requête
    Bonjour, je suis sous access 2007 et j'ai un peu de mal...

    J'ai une table où il y a :
    personne concernée (clé ext)
    nombre
    prix unitaire
    type : achat ou vente

    j'aimerais me retrouver avec un tableau de statistiques où je peux avoir par personnes le total acheté, le total vendu (ça je sais faire sur deux requêtes différentes) puis au final la différence entre acheté et vendu...

    si quelqu'un comprend tout ça je l'en remercie !

    il me semble qu'il y a aussi le problème avec le faite qu'il faux les sommes et différences mais en fonction des personnes concernées ; et pas tout mélanger quand même !!

    Merci à tous ceux qui répondront

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour et bienvenue oohcalme,
    pour utiliser ce que tu as déjà, fais une 3ème requête
    - source : tes 2 requêtes actuelles
    - avec une jointure sur personne concernée
    - un champ dans lequel tu calcules la différence entre SommeDesAchats et SommeDesVentes
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 56
    Points : 46
    Points
    46
    Par défaut
    Ok merci pour l'info.
    Je vais essayé ce weekend mais je suis presque sûr que ça fonctionnera pas.
    J'ai fait quelque chose similaire hier et il me parlé de problème avec la fonction d'agrégat...

    Je pensais que Access 07 serait moins vilain que ça avec moi...

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    bonjour,

    Ca doit être réalisable a priori en une requête avec des sommes conditionnelles selon le type pour faire le total des achats et ventes par personne et ajouter une colonne "Expression" qui fait la différence entre les 2 précédentes.

    Philippe

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonsoir,

    Je n'ai pas bien compris la demande, ça ne fais rien... Je vais répondre ce qui me plais :

    La table--> tbl_Comptes
    Id-->Numéro Auto-->Clef primaire (Ici ne sert à rien : Plus tard peut-être...)
    PersonneConcernée-->Numérique
    nombre-->Numérique
    PrixUnitaire-->Monétaire
    type-->Texte-->Liste valeurs : "Achat";"Vente"

    La requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT Null AS Bidon, PersonneConcernée, "  "& type AS Opération,
     IIf([type]="Achat",[nombre]*[PrixUnitaire],0) AS Achat, 
    IIf([type]="Vente",[nombre]*[PrixUnitaire],0) AS Vente
    FROM tbl_Comptes
    UNION SELECT Null AS Bidon, PersonneConcernée, "Total" AS Opération,
     Sum(IIf([type]="Achat",[nombre]*[PrixUnitaire],0)) AS Achat, 
    Sum(IIf([type]="Vente",[nombre]*[PrixUnitaire],0)) AS Vente
    FROM tbl_Comptes
    GROUP BY tbl_Comptes.PersonneConcernée
    UNION SELECT "*" AS Bidon, Null AS PersonneConcernée, 
    "Total Général" AS Opération, Sum(IIf([type]="Achat",[nombre]*[PrixUnitaire],0)) AS Achat,
     Sum(IIf([type]="Vente",[nombre]*[PrixUnitaire],0)) AS Vente
    FROM tbl_Comptes;
    On oublie pas de masquer manuellement la colonne "Bidon" pour produire chez le spectateur potentiel ce bel effet visuel recherché.(Ainsi que le tant espéré :"Comment fais-tu ça?")

    Cordialement.

    Ps :C'est pas possible. Comment fait-il? Vous avez vu...PHILBEN prends aussi le temps d'intervenir sur le forum! Mais ou trouve-t'il le temps avec tout ce travail qu'il fournit. Allez voir dans les contributions : C'est phénoménal!
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Nom d'une pipe , mais c'est la toute grande forme !


    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  7. #7
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    salut et bon WE à tous

    Très interressant et formateur francishop reste semble-t-il et si mois aussi j'ai bien compris simplement à faire la différence.

    plus classique mais cela marche aussi avec 2 requetes
    La base
    La table ---> Table1
    Personne_concernée -- texte
    Prix_unitaire -- Monétaire
    type -- texte--liste valeur --- achat -- vente

    1ere requête - Table1 Requête
    regroupement et extraction "achat" ----"T_Achat" - "vente" ---"T_Vente"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Table1.Personne_concernee, Table1.nombre, Table1.Prix_unitaire, Table1.type, [nombre]*[Prix_unitaire] AS TOTAL, IIf([type]="achat",[TOTAL],0) AS T_Achat, IIf([type]="vente",[TOTAL],0) AS T_Vente
    FROM Table1
    GROUP BY Table1.Personne_concernee, Table1.nombre, Table1.Prix_unitaire, Table1.type, [nombre]*[Prix_unitaire];
    2eme requête - R_SYNTH
    calcul des écarts
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT DISTINCTROW [Table1 Requête].Personne_concernee, Sum([Table1 Requête].T_Achat) AS [Somme De T_Achat], Sum([Table1 Requête].T_Vente) AS [Somme De T_Vente], [Somme De T_Achat]-[Somme De T_Vente] AS ECART
    FROM [Table1 Requête]
    GROUP BY [Table1 Requête].Personne_concernee;
    et encore bienvenu et rassure toi oohcalme, access n'est pas méchant un tantinet exigeant mais comme tu vois il y a des gens pour t'aider.....
    à+

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonsoir,
    Citation Envoyé par LE VIEUX Voir le message
    ..reste semble-t-il et si mois aussi j'ai bien compris simplement à faire la différence.
    D'accord... Je termine.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    SELECT Null AS Bidon, PersonneConcernée,type AS Opération,
     IIf([type]="Achat",[nombre]*[PrixUnitaire],0) AS Achat, IIf([type]="Vente",
    [nombre]*[PrixUnitaire],0) AS Vente,Null AS [Vision plus], " " AS PourLeVieux, " " AS Resultat
    FROM tbl_Comptes
    UNION SELECT Null AS Bidon, PersonneConcernée, "x-->Total<--x" AS Opération,
     Sum(IIf([type]="Achat",[nombre]*[PrixUnitaire],0)) AS Achat, Sum(IIf([type]="Vente",
    [nombre]*[PrixUnitaire],0)) AS Vente,"  <------>" AS [Vision plus],
     "Solde pour " & [PersonneConcernée]&" ==>" AS PourLeVieux,
     FormatCurrency([Achat]-[Vente],2) AS Resultat
    FROM tbl_Comptes
    GROUP BY tbl_Comptes.PersonneConcernée
    UNION SELECT "*" AS Bidon, Null AS PersonneConcernée, "xTotal Général x" AS Opération,
     Sum(IIf([type]="Achat",[nombre]*[PrixUnitaire],0)) AS Achat, Sum(IIf([type]="Vente",
    [nombre]*[PrixUnitaire],0)) AS Vente,"  <------>" AS [Vision plus],
     "Solde Général ==>" AS PourLeVieux, FormatCurrency([Achat]-[Vente],2) AS Resultat
    FROM tbl_Comptes;
    Je me demande ce que peut donner dans un formulaire ce genre de requête.Peut-être :
    Nom : Forms_OnJoue.gif
Affichages : 163
Taille : 68,6 Ko
    Cordialement.

    Ps : J'ai l'impression d'entendre Gabin dire à Michelle Morgan "T'as d'beaux yeux" lorsque que Claude me dit "T'as d'belles requêtes".
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

  9. #9
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Ooh ! du calme.
    Dans ma petite annonce, j'ai dit "",
    je n'ai pas dit : " ... et plus, si affinité !"

    Un seul espoir : pourvu que notre visteur de passage, repasse !
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  10. #10
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    Bonjour a tous,
    Je dit Mr francishop Belle démonstration de ton ingéniosité

  11. #11
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    bonjour,

    en effet, félicitations Maitre Francishop

    je n'ai pas dit : " ... et plus, si affinité !"
    Faut dire que ta requête UNION prêtait à confusion...

    Philippe

  12. #12
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bonjour,

    Je me sens ridicule d'intervenir après tout ce beau monde...

    problème avec la fonction d'agrégat
    Sûrement une erreur de syntaxe au niveau de la clause ORDER BY ou GROUP BY, oohcalme...
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  13. #13
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 56
    Points : 46
    Points
    46
    Par défaut
    ooook

    Bon bin voilà le forum le plus actif que auquel j'ai eu l'occasion de participer.

    Je m'étais dit, tien un problème comme ça les gens ne regarderont pas ça le weekend, autre chose à faire... eh bin finalement !!!

    Que dire... Merci, je vais tester tout ça dès que j'en aurais le temps bien que je ne doute pas du bon fonctionnement.

    Merci à tout ce petit monde et à très bientôt (il y aura forcément des nouvelles questions de ma part)


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

Discussions similaires

  1. Faire la somme d'une ligne sur 2 dans une matrice
    Par DJEcalcul dans le forum MATLAB
    Réponses: 2
    Dernier message: 02/05/2014, 18h38
  2. Réponses: 1
    Dernier message: 26/12/2010, 21h20
  3. Somme d'une colonne apres choix dans une liste
    Par fmris dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/11/2010, 15h35
  4. [XL-2003] Somme d'une cellule sur deux dans une plage ?
    Par [ZiP] dans le forum Excel
    Réponses: 13
    Dernier message: 27/02/2010, 20h28
  5. Réponses: 3
    Dernier message: 06/09/2006, 09h06

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