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

Delphi Discussion :

QuickReport : éviter une division par zéro


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Avril 2010
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 102
    Par défaut QuickReport : éviter une division par zéro
    Salut

    Je utilise cette expression dans l’éditeur de code pour afficher un pourcentage sur un état de Quickreport

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QRExpr1.Expression := '(SUM(CONSOMAS)*100)/SUM(CREDIT)';
    - Si le champ CREDIT contient de la valeur supérieure à zéro le pourcentage s’afficher normal
    Après la visualisation, Par exemple: 70.77

    - Si le champ CREDIT contient des valeurs égale à zéro le pourcentage s’affiche un texte
    Après la visualisation comme suite : ‘cannot divide by 0’ mais mois je veux dans ce cas afficher 0

    Parce qu'il est une état qui est envoyé à un autre administration.


    Solution SVP

    Merci

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 491
    Par défaut
    salut

    utilise la fonction logique IF

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IF(SUM(CREDIT)=0 ,0,(SUM(CONSOMAS)*100)/SUM(CREDIT))

  3. #3
    Membre actif
    Inscrit en
    Avril 2010
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 102
    Par défaut La division sur Zéro dans l’expression du QRExpr / Delphi
    Réussi avec le dernier linge qui afficher zéro, Mais mois je veux tous les lignes, L’affichage sera dans une (SummaryBand)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QRExpr1.Expression := 'IF(SUM(CREDIT)=0 ,0,(SUM(CONSOMAS)*100)/SUM(CREDIT))';
    Merci

  4. #4
    Rédacteur/Modérateur

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

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

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

    j'ai parce que :
    - la demande est loin d'être claire alors que la solution proposée par Anapurna a été appliquée et ce avec succès
    - il y a un (sous)forum dédié à quickreport
    - récupérer un rar pour voir une image est galère , et de plus sans explication elle ne nous apporte rien de concret pour répondre

  5. #5
    Membre actif
    Inscrit en
    Avril 2010
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 102
    Par défaut La division sur Zéro dans l’expression du QRExpr / Delphi
    Chaque chapitre contient des articles, Je veux montrer le pourcentage de consommation de chaque chapitre dans la même état de sortie dans une (SummaryBand).


    - Si le solde de chapitre nul le pourcentage montrant 0
    - Si le solde de chapitre est un valeur supérieure à zéro, le pourcentage montrant un numéro, par exemple : 77,70

    Une Solution

    Merci

  6. #6
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 635
    Billets dans le blog
    65
    Par défaut
    re,
    Je veux montrer le pourcentage de chaque chapitre dans la même état de sortie dans une (SummaryBand).
    votre erreur se situe dans le choix de la bande
    Une SummaryBand est comme son nom l'indique une bande résumée qui ne sera donc éditée qu'un seule fois en fin d'état
    or ce que vous cherchez à faire est une somme par groupe (et peut être en fin d'état une Bande résumée).
    Le mot clé est Groupe vous devez poser une bande de type GroupHeaderBand (utilisation de QRGroup ,hauteur 0 s'il n'y a pas d'information à mettre) , et un bande de type rbGroupFooter qui contiendra le calcul. A vous de bien renseigner dans la bande QRGroup l'Expression et la FooterBand

Discussions similaires

  1. Division par zéro (#DIV/0) dans Excel
    Par MCoder dans le forum Langage
    Réponses: 5
    Dernier message: 12/10/2008, 19h27
  2. [CR8.5] Problème de division par zéro sur formule
    Par franck.cvitrans dans le forum Formules
    Réponses: 3
    Dernier message: 10/06/2004, 13h41
  3. [VB6] Obtenir +sieurs lignes sur RptTextBox dans un DataReport
    Par Babaframy dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 24/01/2004, 12h10
  4. probleme avec une division par zéro
    Par jcharleszoxi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/03/2003, 18h14
  5. [VB6] [MSHFlexGrid] Tri sur clic dans la première ligne
    Par degreste dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 06/03/2003, 00h42

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