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

Composants VCL Delphi Discussion :

Fonction SUM de QReport


Sujet :

Composants VCL Delphi

  1. #1
    Membre habitué Avatar de sondo
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Août 2004
    Messages : 540
    Points : 162
    Points
    162
    Par défaut Fonction SUM de QReport
    Bonjour,

    Je viens demander une explication au sujet de la fonction sum de QReport.
    J'ai déposé sur mon etat sur la bande SummaryBand un TQRExpr. Ensuite je suis passé par sa proprié _Expression pour rechercher la fonction sum pour établir un total pour un champ donnée.
    J'ai pu établir la formule SUM(Recettes.MONT_R).
    Quand j'exécute mon état le calcul est faux. Par exemple sur une colonne ayant 3 fois 500, le total revoyé est de 3000. J'ai constaté qu"il fait le total de 1000 en 1000 en fonction du nombre de ligne.
    Je ne sais qu'est-ce qu'il faut faire ? Pouvez-vous m'aider s'il vous plait ?.


    SONDO.

  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
    Personnellement, j'utilise rarement le TQrExp , en tout cas, jamais pour les sommes ou autres calculs.

    Moi, je déclare une VAR et dans le OnPrint des champs devant faire partie du calcul
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SUm := Sum+Query.fields['SOLDE'].AsFloat;
    Voilà l'idée, et j'ai jamais eu de prob.

  3. #3
    Membre habitué Avatar de sondo
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Août 2004
    Messages : 540
    Points : 162
    Points
    162
    Par défaut Fonction SUM de QReport
    Bonjour,

    Merci pour ton idée. Mais voici ce que j'ai fais :

    procedure TForm17.QRDBText3Print(sender: TObject; var Value: String);
    var sum : Single;
    begin
    Sum:=Sum+Query1.Fields['Mont_R'].AsFloat;
    QRLabel6.Caption:=FloatToStr(Sum);
    end;
    Mont_R est les champ devant faire partie du calcul.
    Mais j'ai l'erreur suivant :
    [Erreur] Report_Recette.pas(53): Types incompatibles : 'Integer' et 'String'.
    Je ne comprend pas. Peux-tu m'aider s'il te plais ?

  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
    Merci d'utiliser les balises "code"

    J'aurais plutot fait ceci (en supposant que tu imprimes les nombres dans un bande Detail):
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    Var
    Sum : Extended;
    ...
    ...
    ...
     
    Procedure QuickRepOnBeforePrint(Sender : TObject);
    Begin
    ......
    ......
    Sum := 0;
    ......
    ......
    end;
    //// QRDBText3 étant le champ se situant dans la bande Detail
    procedure TForm17.QRDBText3Print(sender: TObject; var Value: String); 
    begin 
    Sum:=Sum+Query1.Fields['Mont_R'].AsFloat; 
    end; 
     
    /////QRLabel6 étant le total d'une colone , se situe dans une bande Sumary ou FooterGroup
    procedure TForm17.QRLabel6Print(sender: TObject; var Value: String);
    Begin
    Value := FormatFloat('0.00,',Sum);
    end;
    Voila, j'espere que ca ira et te conviendra

  5. #5
    Membre habitué Avatar de sondo
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Août 2004
    Messages : 540
    Points : 162
    Points
    162
    Par défaut Fonction SUM de QReport
    Voilà ce que j'ai fais :

    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
    17
    procedure TForm17.QRDBText3Print(sender: TObject; var Value: String);
    var sum : Extended;
    begin
      Sum:=Sum+Query1.Fields['Mont_R'].AsFloat;
    end;
     
    procedure TForm17.QuickRep_Recette_JourBeforePrint(Sender: TCustomQuickRep;
      var PrintReport: Boolean);
      var  Sum : Extended;
    begin
    sum:=0;
    end;
     
    procedure TForm17.QRLabel6Print(sender: TObject; var Value: String);
    begin
    Value := FormatFloat('0.00,',Sum);
    end;
    Je pense que j'ai bien suivis tes conseil. Mais il y'a toujours une erreur ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TForm17.QRDBText3Print(sender: TObject; var Value: String);
    var sum : Extended;
    begin
      Sum:=Sum+Query1.Fields['Mont_R'].AsFloat;
    end;
    Voici l'erreur : Report_Recette.pas(56): Types incompatibles : 'Integer' et 'String'.
    Que faire ?
    Merci.

  6. #6
    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
    Premierement, déclare Sum qu'une seule fois dans la partie VAR juste au dessus de IMPLEMENTATION.

    Initialise la une seule fois au BeforePrint (Sum := 0)


    Ensuite, ton code à l'air d'être correct a part ceci


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Query1.Fields['Mont_R'].AsFloat
    qui doit être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Query1.FieldByName('Mont_R').AsFloat 
    ou
    Query1.Fields[3].AsFloat

  7. #7
    Membre habitué Avatar de sondo
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Août 2004
    Messages : 540
    Points : 162
    Points
    162
    Par défaut Fonction SUM de QReport
    Grand merci ca marche.
    J'avoue que j'ai beaucoup appris avec toi.
    Bon courage et la prochaine Monsieur Portu.

    SONDO.

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

Discussions similaires

  1. explication sur le fonction Sum dans qreport
    Par youcef_b_dz dans le forum Bases de données
    Réponses: 3
    Dernier message: 19/05/2007, 13h04
  2. [MySQL] Afficher le résultat de la fonction SUM()
    Par Flushovsky dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 23/12/2005, 01h15
  3. pb avec la fonction sum!
    Par ber_jp dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 28/08/2004, 22h22
  4. Fonction 'SUM'
    Par X-Deus dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/06/2003, 08h22
  5. [VBA-E] Fonction sum() dans une cellule
    Par Gonzo dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/12/2002, 10h18

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