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

QuickReport Discussion :

Utilisation de QRExpr !


Sujet :

QuickReport

  1. #1
    Membre régulier Avatar de menoulette
    Inscrit en
    Août 2009
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 320
    Points : 111
    Points
    111
    Par défaut Utilisation de QRExpr !
    Bonjour ,
    Je rencontre un petit problème avec l'affichage des totaux qui se trouve dans un QrGroup et pour cela j'ai utilisé un QrExpr les groupes sont divisés en deux partie (Dépenses et Recettes) le problème j'ai dans l’expression des dépenses (00.00) et pour la partie des recettes j'ai le total des dépense comment empêcher ce problème vous trouvez une pièce jointe qui explique mon problème Merci d'avance
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 045
    Points : 40 963
    Points
    40 963
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Votre document n'aide pas vraiment à la compréhension , j'aurais préféré voir une capture écran du Quickreport par exemple.

    Cependant je pense que la réponse est simple , vous avez du oublier de mettre ResetAfterPrint a true
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre régulier Avatar de menoulette
    Inscrit en
    Août 2009
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 320
    Points : 111
    Points
    111
    Par défaut
    Bonjour , ci joint vous trouverez une petite capture d'écran je vais me positionner sur le problème :
    si vous remarquez bien sur les dépenses c'est affiché (00.00 et 00.00) or que ça devrait afficher (10,100.00) et (180,776,756,20) qui sont affichés dans la partie des recettes donc le calcul se fait d'une manière descendante et pas ascendante alors comment le forcer pour qu'il s'effectue d'une façon ascendante j'espère que j'étais claire Merci d'avance
    Images attachées Images attachées  

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 045
    Points : 40 963
    Points
    40 963
    Billets dans le blog
    62
    Par défaut
    Encore une fois , j'aurais préféré voir la structure du QuickReport , pas un résultat de sortie
    et plus d'explications
    QrExpression contient quel expression par exemple ?
    Est-elle bien à la fin du groupe (groupfooter) et non en groupHeader (dans ce cas ça ne fonctionnera pas)

    donc le calcul se fait d'une manière descendante et pas ascendante
    le calcul d'une expression se fait sur les lignes détails (donc enregistrements) imprimés , cela a toujours été ainsi

    si vous voulez obtenir cet état , je pense que vous devez revoir votre datasource , comme cela ressemble beaucoup a une comptabilité ,
    en admettant qu'il y ait une table plan comptable et un table écriture cela donnerait quelque chose du genre
    Citation Envoyé par Exemple de structure
    PLAN
    CODECOMPTE VARCHAR(11) NOT NULL, // Primary Key
    NOMCOMPTE VARCHAR(60)

    ECRITURE
    NUM_ECRITURE INTEGER NOT NULL, // Primary Key
    DATE_ECRITURE DATE,
    LIBELLE VARCHAR(60),
    CODECOMPTE VARCHAR(11) NOT NULL, // foreign key references PLAN(CODECOMPTE)
    MONTANT NUMERIC(15,2),
    TYPE VARCHAR(6),
    ...
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT PLAN.CODECOMPTE,PLAN.NOMCOMPTE,
               SELECT SUM(MONTANT) FROM ECRITURES WHERE CODECOMPTE STARTING WITH PLAN.CODECOMPTE AND TYPE='CREDIT'),
               SELECT SUM(MONTANT) FROM ECRITURES WHERE CODECOMPTE STARTING WITH PLAN.CODECOMPTE AND TYPE='DEBIT')
    FROM PLAN
    ORDER BY PLAN.CODECOMPTE
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Membre régulier Avatar de menoulette
    Inscrit en
    Août 2009
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 320
    Points : 111
    Points
    111
    Par défaut
    Justement l'expression se trouve dans l'entête du groupe ( c'est la manière demandée et exigée ) et elle contient l'expression suivante (SUM(ADOQUERY1.BS_art_chapi)) concernant la structure du quick Report elle contient ( un entête ,entête de groupe, Détail , sous-détail , résumée )
    Images attachées Images attachées  

  6. #6
    Membre régulier Avatar de menoulette
    Inscrit en
    Août 2009
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 320
    Points : 111
    Points
    111
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Encore une fois , j'aurais préféré voir la structure du QuickReport , pas un résultat de sortie
    et plus d'explications
    QrExpression contient quel expression par exemple ?
    Est-elle bien à la fin du groupe (groupfooter) et non en groupHeader (dans ce cas ça ne fonctionnera pas)


    le calcul d'une expression se fait sur les lignes détails (donc enregistrements) imprimés , cela a toujours été ainsi

    si vous voulez obtenir cet état , je pense que vous devez revoir votre datasource , comme cela ressemble beaucoup a une comptabilité ,
    en admettant qu'il y ait une table plan comptable et un table écriture cela donnerait quelque chose du genre


    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT PLAN.CODECOMPTE,PLAN.NOMCOMPTE,
               SELECT SUM(MONTANT) FROM ECRITURES WHERE CODECOMPTE STARTING WITH PLAN.CODECOMPTE AND TYPE='CREDIT'),
               SELECT SUM(MONTANT) FROM ECRITURES WHERE CODECOMPTE STARTING WITH PLAN.CODECOMPTE AND TYPE='DEBIT')
    FROM PLAN
    ORDER BY PLAN.CODECOMPTE
    j'aime toujours voir les choses en plus simple possible pour atteindre le format demandé j'ai utilisé un QRGroupe qui a comme expression (ADOQuery1.nom_type) => nom_type sur ma table a comme valeur soit (Dépense ) soit (Recette) !

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 045
    Points : 40 963
    Points
    40 963
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par menoulette Voir le message
    Justement l'expression se trouve dans l'entête du groupe ( c'est la manière demandée et exigée )
    soyons d'accord , c'est bien avoir le montant au début qui est exigé , l'expression à proprement parlé ?
    concernant la structure du quick Report elle contient ( une entête ,entête de groupe, Détail , sous-détail , résumée )
    oui et en travaillant sur la source de données , comme proposé , une simple bande détail suffit (bon , peut être avec un entête , un base de page et un résumé) mais pas de sous détail .

    j'aime toujours voir les choses en plus simple possible
    moi aussi et c'est pour cela que je travaille toujours d'abord la source de données
    si vous voulez avoir les montants de groupe avant d'afficher les détails , c'est une des solutions les plus simples (en tout cas certainement la plus rapide)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  8. #8
    Membre régulier Avatar de menoulette
    Inscrit en
    Août 2009
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 320
    Points : 111
    Points
    111
    Par défaut
    J'ai trouvé une solution avec un petit traitement dans le code source et ça marche ; au lieu d'utiliser un QRExpr j'ai utiliser des simple QRDBtext par exemple :
    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
     
     
    if ( fiche_etat_chapitre2.QRDBText1.DataSet.Fields[7].Value='Dépenses') then
             begin
     
       fiche_etat_chapitre2.calcul.Active:= false;
        fiche_etat_chapitre2.calcul.SQL.Clear;
        fiche_etat_chapitre2.calcul.SQL.Add('SELECT BAD,BSD');
        fiche_etat_chapitre2.calcul.SQL.Add('FROM calcul_chapi,calcul_chapi2');
        fiche_etat_chapitre2.calcul.SQL.Add('where calcul_chapi.dateBP=:N and calcul_chapi2.dateBP= :M and calcul_chapi2.code_chapitre =:c1 and calcul_chapi.code_chapitre = :c ' );
       fiche_etat_chapitre2.calcul.Parameters.ParamByName('N').Value:=Edit1.Text ;
       fiche_etat_chapitre2.calcul.Parameters.ParamByName('M').Value:=edit1.Text;
        fiche_etat_chapitre2.calcul.Parameters.ParamByName('c1').Value:=Edit4.Text;
        fiche_etat_chapitre2.calcul.Parameters.ParamByName('c').Value:=edit4.Text;
       fiche_etat_chapitre2.calcul.Active:=true;
        fiche_etat_chapitre2.QRDBText16.DataSet:=fiche_etat_chapitre2.calcul;
        fiche_etat_chapitre2.QRDBText16.DataField:='BAD';
     
        fiche_etat_chapitre2.QRDBText17.DataSet:=fiche_etat_chapitre2.calcul;
        fiche_etat_chapitre2.QRDBText17.DataField:='BSD';
      end

    Merci Mr Sergio pour votre contribution

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

Discussions similaires

  1. Utilisation de QREXPR
    Par Abou Zar dans le forum QuickReport
    Réponses: 15
    Dernier message: 22/08/2010, 09h49
  2. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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