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 :

Somme de valeurs d'une colonne d'un DBGrid


Sujet :

Bases de données Delphi

  1. #1
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    533
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 533
    Points : 313
    Points
    313
    Par défaut Somme de valeurs d'une colonne d'un DBGrid
    Salut !

    Dans mon projet, je possède un DGbrid avec plusieurs colonnes. J'aimerais afficher dans une zone de texte la somme des valeurs d'une de ses colonnes. Seulement je ne sais pas comment m'y prendre dans ma boucle afin de récupérer une valeur à l'intersection d'une ligne et d'une colonne, à moins qu'il y est une méthode spécifique au DBGrid permettant de faire cette somme...

    Merci d'avance pour votre aide !
    N'oubliez pas le tag .
    Merci de ne pas envoyer de MP pour des problèmes techniques.

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 085
    Points : 886
    Points
    886
    Par défaut
    Bonjour, le forum Delphi et Base de données conviendrait mieux tu crois pas ?


    Bon, pour faire le calcul, soit tu fais une boucle sur ton Query ou Table (qui est associé à ton DB grid) où alors , tu refais une autre requete sql calculant la somme voulue (bcp plus rapide).

    Pour ce qui est de la boucle du query ou table :

    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
     
    Var
    Somme : Extended;
    Begin
    Somme := 0;
    ....
    .....
    Query.RecNo := 1; // pas nécessaire si tu l'active juste avant
     
    While not (Query.eof) do begin
    Somme := Somme + Query.fields[3].AsFloat;
     
    Query.Next;
    end;
     
    Somme_Edt.text := FormatFloat('0.00,',Somme); //renvoi une valeur text sous forme 100.000,55

  3. #3
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    533
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 533
    Points : 313
    Points
    313
    Par défaut
    Citation Envoyé par portu
    Bonjour, le forum Delphi et Base de données conviendrait mieux tu crois pas ?
    J'hésitais entre les 2.

    Merci pour ta réponse, en effet la 2è solution est plus rapide et je n'y avais pas pensé. La 1è solution ma parait un peu plus compliquée mais elle m'a permis d'apprendre des choses.

    Merci portu d'avoir résolu mon problème !

    @+
    N'oubliez pas le tag .
    Merci de ne pas envoyer de MP pour des problèmes techniques.

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 085
    Points : 886
    Points
    886
    Par défaut
    De rien. C'était avec plaisir

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/06/2015, 14h48
  2. [XL-2003] Fusion + Somme des valeurs d'une colonne
    Par arkhang dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 19/06/2014, 16h40
  3. somme de valeurs d'une colonne dans une feuille avec un nombre de lignes inconnus
    Par Platon d'athene dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/09/2012, 15h53
  4. somme de valeurs d'une colonne en fonction d'autres colonnes
    Par youness78 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 02/08/2007, 19h31

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