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

Bases de données Delphi Discussion :

comment calculer la somme d'une colonne d'un dbgrid


Sujet :

Bases de données Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 9
    Points : 7
    Points
    7
    Par défaut comment calculer la somme d'une colonne d'un dbgrid
    Bonjour, comment calculer la somme d'une colonne d'un dbgrid qui est déja un champ virtuel de ma table depense.

    merci

  2. #2
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    vous pouvez utiliser une requette avec SUM(val*Val2)

    out faire une boucle while va totaliser.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    oui merci de votre reponse mais comment l'écrire quand fait une requete sur ma table avec les champs virtuel j'ai un message me disant que les champs n'existe pas

    wjm

  4. #4
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    Je ne sais pas ce que tu entends par champs 'virtuel', cela doit être un champ calculé ?

    sinon, sans passer par une requete, tu peux faire ceci pour faire la somme d'une colonne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    RTotal := 0;
    DBGrid.DataSet.First;
    while not DBGrid.DataSet.Eof do
      try
      RTotal := RTotal + TonChamp1.AsFlaot + TonChamp2Calc.AsFloat + ...; 
      // OU
      RTotal := RTotal + DBGrid.DataSet.FieldByName( 'MonChampe1' ).AsFloat + ...
      finally DBGrid.DataSet.Next; end;
    bon code!

    PS: il vaut mieux faire un DBGrid.DataSet.DisableControls/EnableControls pour éviter de "voir" le curseur du dbgrid parcourir le dbgrid, de plus c'est plus rapide. Egalement, sauver la position du dataset serait aussi une bonne idée.
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    merci pour votre aide ca marche

    et vive le forum

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

Discussions similaires

  1. Comment calculer la moyenne sur une colonne selon un critère
    Par Contact2012 dans le forum Requêtes
    Réponses: 3
    Dernier message: 18/06/2010, 16h07
  2. comment calculer la somme d'une série
    Par osabri dans le forum Débuter
    Réponses: 10
    Dernier message: 14/03/2010, 16h27
  3. Réponses: 7
    Dernier message: 25/01/2010, 11h24
  4. Réponses: 10
    Dernier message: 12/01/2010, 11h06

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