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 :

impression la meme colonne dans trois colonne


Sujet :

QuickReport

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Algérie

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2016
    Messages : 6
    Par défaut impression la meme colonne dans trois colonne
    salut tous le monde
    je travail avec Delphi 7 en utilisant QuickReport
    j'ai un table paradox qui contient les champs ( N° et PRIX) et je veut imprimer ces champ sur le quickreport dans trois colonne chacune contient 25 ligne
    et a la fin de chaque colonne il y a un sous total de la colonne on ajoutant le report sur le debut de chaque colonne

    comme suite dans le tableau ci dessus ...MERCI
    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 416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 416
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    voici un zip (D3) qui contient une solution partielle.

    Utilisation de trois colonnes une bande détail entourée d'un groupheader et d'un groupfooter. Le seul 'truc' est l'utilisation d'une colonne (qui peut être calculée) pour gérer les groupes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    // QRBand3 c''est le GroupFooter
    procedure TForm1.QRBand3AfterPrint(Sender: TQRCustomBand;
      BandPrinted: Boolean);
    begin
     QuickRep1.NewColumn;
    end;
     
    // QRGroup1 c''est le groupHeader 
    procedure TForm1.QRGroup1AfterPrint(Sender: TQRCustomBand;
      BandPrinted: Boolean);
    begin
    QRExpr1.Enabled:=true; // ceci gère le premier total quand le fichier n''est pas encore ouvert, au départ QRExpr1 est invisible (enabled=false)
    end;
    Désolé pour le peu d'explication, mais j'ai fait ça à la va-vite
    Fichiers attachés Fichiers attachés

  3. #3
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Algérie

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2016
    Messages : 6
    Par défaut


    merci boucou serge pour ton aide thx شكرا

  4. #4
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Algérie

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2016
    Messages : 6
    Par défaut

    salut SergioMaster
    malgré que je suivi tt les consigne mais j'arrive pas a le faire
    1. les sous totaux des trois colonne ne s'affiche plus
    2. j'ai pas 25 ligne dans chaque collone
    j'ai essai de faire mon mieu mais ...
    Fichiers attachés Fichiers attachés
    • Type de fichier : 7z test.7z (457,1 Ko, 100 affichages)

  5. #5
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 416
    Billets dans le blog
    65
    Par défaut
    Bonjour,
    malgré que je suivi tt les consigne mais j'arrive pas a le faire
    il y a de quoi être désolé car toutes les consignes n'ont pas été suivies !

    tout d'abord, première erreur, il n'y a pas d'expression pour le groupe , pas d'expression = pas de groupe. Et constatation le calcul n'est pas mis au bon endroit ! (dans la bande Entête de colonne au lieu de la bande GroupeHeader)

    [Edit] et après test (NB qui chez moi fonctionne après corrections) le groupfooter n'est pas lié au groupheader . Je ne vous ferais pas le cadeau de renvoyé le zip corrigé car cela serait vous desservir, l'apprentissage par l'erreur et la compréhension de ce que vous devez faire est une bonne pédagogie

    DONC :

    Dans le petit programme que j'ai proposé, l'expression du groupe était une colonne de la table, la colonne G
    qui était en fait calculée à partir du n° d'enregistrement i (égal à la valeur) fieldByName('G').asInteger:=(i-1) div 25;
    Citation Envoyé par sergiomaster
    Le seul 'truc' est l'utilisation d'une colonne (qui peut être calculée) pour gérer les groupes
    c'est cette phrase qui est la clé de la solution

    Si Table1N_Ligne est le numéro de ligne ( qu'il n'y a pas de "trous" et que l'ordre est bien sur ce dernier) alors il suffit de faire les choses suivantes :
    ajouter un champ G calculé (clic droit sur la table, éditeur de champs, clic droit dans l'éditeur, ajouter des champs)
    coder l'évènement OnCalcField
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    procedure TForm1.Table1CalcFields(DataSet: TDataSet);
    begin
    // il y a plusieurs manières de coder cette partie
    // celle-ci est la plus compréhensible 
    Table1G.asInteger:=(table1N_ligne.asInteger - 1) div 25;
    // Table1.FieldByname('G').asInteger:=(Table1.FieldByName('N_ligne').asInteger-1) div 25;
    // DataSet['G']:=(Dataset['N_Ligne']-1) div 25;
    end;
    et enfin, faire ce que j'ai dit au début , c.a.d. indiquer G comme expression dans les propriétés du GroupHeader
    et ne pas oublier de lier le GroupFooter à ce dernier

    P.S. ne pas re-citer à chaque fois les messages c'est inutile sur ce forum

  6. #6
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Algérie

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2016
    Messages : 6
    Par défaut
    Merci ç bien marché

Discussions similaires

  1. Réponses: 6
    Dernier message: 07/01/2016, 21h31
  2. Réponses: 7
    Dernier message: 29/05/2015, 04h44
  3. Réponses: 3
    Dernier message: 31/10/2012, 09h50
  4. Postionnement dans une colonne dans un DBGrid
    Par Jeankiki dans le forum Bases de données
    Réponses: 7
    Dernier message: 13/01/2005, 01h05
  5. Noms de colonne dans une colonne
    Par Digirom dans le forum Langage SQL
    Réponses: 14
    Dernier message: 23/04/2004, 12h51

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