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

WinDev Discussion :

Edition de graphes à plusieurs courbes dans un état à partir d'une requête


Sujet :

WinDev

  1. #1
    Membre du Club
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Mars 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2007
    Messages : 54
    Points : 53
    Points
    53
    Par défaut Edition de graphes à plusieurs courbes dans un état à partir d'une requête
    Bonjour à tous.
    J'ai élaboré un graphe à partir d'une requête windev. Au bas du tableau qui présente l’état se trouve mon graphe. j'ai fais mon graphe par programmation. Au fait j'ai plusieurs secteurs d'activités qui donnent des chiffres d'affaire différents en fonction des années. Donc les années en abscisse et les Chiffre d'affaire en ordonnées. Au finish je devais avoir une courbe évoluant par secteur en fonction des années. donc au tant de courbes que de secteurs. mais il se trouve que lorsque la première courbe prend fin, ma nouvelle courbe ne commence pas par le début des années mais continue plutôt à la suite de la courbe qui vient de prendre fin. Ça me donne de vrai soucis. aidez-moi si vous avez une idée. Voici mon code:



    moMontant est un monétaire=0
    nIndice est entier=0


    grLégende(GRF_CASECTORIEL,grADroite)
    grQuadrillage(GRF_CASECTORIEL,AffichageSeulement,grAbscisse)

    SI HExécuteRequête(REQ_CHIFFREAFFAIREGROUPESECTEUR,hRequêteDéfaut) ALORS
    HLitPremier(REQ_CHIFFREAFFAIREGROUPESECTEUR)

    grTitre(GRF_CASECTORIEL,"EVOLUTION DU CHIFFRE D'AFFAIRE SECTORIEL")

    TANTQUE PAS HEnDehors(REQ_CHIFFREAFFAIREGROUPESECTEUR)

    moMontant=REQ_CHIFFREAFFAIREGROUPESECTEUR.SOM_ChiffredAffaire_VU
    nIndice++
    grEtiquetteCatégorie(GRF_CASECTORIEL,nIndice,REQ_CHIFFREAFFAIREGROUPESECTEUR.exercice_VU)
    grAjouteDonnée(GRF_CASECTORIEL,1,nIndice,moMontant)

    HLitSuivant(REQ_CHIFFREAFFAIREGROUPESECTEUR)
    moMontant=0

    FIN
    grDessine(GRF_CASECTORIEL)

    FIN

  2. #2
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 803
    Points
    3 803
    Par défaut
    Citation Envoyé par KOUADIO SEVERIN Voir le message
    grAjouteDonnée(GRF_CASECTORIEL,1,nIndice,moMontant)
    Bonjour,

    Relie l'aide de cette fonction et tu trouvera ton erreur.
    Tu ajoute tes valeurs toujours dans la même série et ton indice ne repasse jamais à 0.

    Ensuite je ne voit en aucun cas de changement de secteur d'activité.
    Comment est faite ta requête?
    Je pense que tu n'a qu'une colonne montant?
    Affiche nous un exemple de ta requête.
    Sinon indique nous comment tu fait les différences de secteurs dans la lecture de ta requête.

    Pense aussi à utiliser le bouton # lors de la saisie de ton message ce qui a pour effet de faire une mise en page du code. (lis ce message)
    la touche est ton amie. l'aide ne mord pas quand on la consulte...
    PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)

    Pensez à utiliser les votes et à cliquer sur , merci

  3. #3
    Membre du Club
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Mars 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2007
    Messages : 54
    Points : 53
    Points
    53
    Par défaut
    Voici le resultat de ma requête après execution :

    CODESECTEUR SECTEUR_VU exercice_VU SOM_ChiffredAffaire_VU
    03 ENERGIE 2008 160 000
    03 ENERGIE 2009 283 046 737 284
    03 ENERGIE 2010 277 091 769 427
    03 ENERGIE 2011 265 281 071 809
    06 TRANSPORT TERRESTRE 2008 4 522 971 152
    06 TRANSPORT TERRESTRE 2009 5 188 626 013

    Quand j'essaie d'initialiser mon indice comme je fais pour montant, le graphe ne presente aucune courbe.

  4. #4
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 803
    Points
    3 803
    Par défaut
    Bonjour,

    A la lecture de ton code je ne vois pas comment tu sais que tu change de secteur.
    Et l'initialisation de ton montant à 0 ne sert à rien vu qu'à chaque fois que tu parcours ta requête tu lui affecte une valeur.
    moMontant=REQ_CHIFFREAFFAIREGROUPESECTEUR.SOM_ChiffredAffaire_VU .
    Trouve le moyen en parcourant ta requête de savoir que tu change de secteur et ainsi faire une nouvelle série dans ton graphe.
    Je te donne la piste pour ton problème.
    C'est à toi de trouver la solution.
    la touche est ton amie. l'aide ne mord pas quand on la consulte...
    PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)

    Pensez à utiliser les votes et à cliquer sur , merci

  5. #5
    Membre du Club
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Mars 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2007
    Messages : 54
    Points : 53
    Points
    53
    Par défaut
    Bonjour

    Après avoir modifier mon code en prenant en compte le CODESECTEUR1 dans l'état d'affichage comparé au CODESECTEUR dans la requête, il n'est affiché que la courbe correspondant au dernier secteur de la liste. comment initialiser mon indice après chaque secteur. voici mon code.



    moMontant est un monétaire=0
    nIndice est entier=0
    nexercice est un entier


    //grEffaceDessin(GRF_CASECTORIEL)
    grLégende(GRF_CASECTORIEL,grADroite)
    grQuadrillage(GRF_CASECTORIEL,AffichageSeulement,grAbscisse)

    SI HExécuteRequête(REQ_CHIFFREAFFAIREGROUPESECTEUR,hRequêteDéfaut) ALORS

    HLitPremier(REQ_CHIFFREAFFAIREGROUPESECTEUR,REQ_CHIFFREAFFAIREGROUPESECTEUR.CODESECTEUR)
    grTitre(GRF_CASECTORIEL,"EVOLUTION DU CHIFFRE D'AFFAIRE SECTORIEL")

    TANTQUE PAS HEnDehors(REQ_CHIFFREAFFAIREGROUPESECTEUR)


    SI REQ_CHIFFREAFFAIREGROUPESECTEUR.CODESECTEUR=CODESECTEUR1 ALORS

    moMontant=REQ_CHIFFREAFFAIREGROUPESECTEUR.SOM_ChiffredAffaire_VU
    nexercice= REQ_CHIFFREAFFAIREGROUPESECTEUR.exercice_VU
    nIndice++

    grEtiquetteCatégorie(GRF_CASECTORIEL,nIndice,nexercice)
    grAjouteDonnée(GRF_CASECTORIEL,1,nIndice,moMontant)

    FIN

    grDessine(GRF_CASECTORIEL)
    HLitSuivant(REQ_CHIFFREAFFAIREGROUPESECTEUR)

    FIN
    FIN

  6. #6
    Membre du Club
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Mars 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2007
    Messages : 54
    Points : 53
    Points
    53
    Par défaut
    Bonjour

    Après avoir modifier mon code en prenant en compte le CODESECTEUR1 dans l'état d'affichage comparé au CODESECTEUR dans la requête, il n'est affiché que la courbe correspondant au dernier secteur de la liste. comment initialiser mon indice après chaque secteur. voici mon code.



    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
    27
    28
    29
    30
    31
    32
    33
    moMontant est un monétaire=0
    nIndice est entier=0
    nexercice est un entier
     
     
    //grEffaceDessin(GRF_CASECTORIEL)
    grLégende(GRF_CASECTORIEL,grADroite)
    grQuadrillage(GRF_CASECTORIEL,AffichageSeulement,grAbscisse)
     
    SI HExécuteRequête(REQ_CHIFFREAFFAIREGROUPESECTEUR,hRequêteDéfaut) ALORS
     
    HLitPremier(REQ_CHIFFREAFFAIREGROUPESECTEUR,REQ_CHIFFREAFFAIREGROUPESECTEUR.CODESECTEUR)
    grTitre(GRF_CASECTORIEL,"EVOLUTION DU CHIFFRE D'AFFAIRE SECTORIEL")
     
    TANTQUE PAS HEnDehors(REQ_CHIFFREAFFAIREGROUPESECTEUR)
     
     
    SI REQ_CHIFFREAFFAIREGROUPESECTEUR.CODESECTEUR=CODESECTEUR1 ALORS
     
    moMontant=REQ_CHIFFREAFFAIREGROUPESECTEUR.SOM_ChiffredAffaire_VU
    nexercice= REQ_CHIFFREAFFAIREGROUPESECTEUR.exercice_VU
    nIndice++
     
    grEtiquetteCatégorie(GRF_CASECTORIEL,nIndice,nexercice)
    grAjouteDonnée(GRF_CASECTORIEL,1,nIndice,moMontant)
     
    FIN
     
    grDessine(GRF_CASECTORIEL)
    HLitSuivant(REQ_CHIFFREAFFAIREGROUPESECTEUR)
     
    FIN
    FIN

  7. #7
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 287
    Points : 9 364
    Points
    9 364
    Par défaut
    Je n'ai jamais de graphe mais d'après l'aide : http://doc.pcsoft.fr/fr-FR/?3042023&...onnee-fonction

    Tu mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grAjouteDonnée(GRF_CASECTORIEL,1,nIndice,moMontant)
    Ta série est toujours 1, c'est normal que cela ne fonctionne pas comme tu veux.
    Tu dois utiliser une variable que tu incrémetes à chaque changement de série.

    Une autre idée serait de passer par un état sur tableau : tu remplis ton tableau avec tes différentes séries. A tester...

    Edit : pas vu le message de sylvain : il y avait déjà la réponse...
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  8. #8
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 803
    Points
    3 803
    Par défaut
    Allez je vais t'aiguiller encore un peu.

    Il ne faut pas que tu fasse un test avec CODESECTEUR1
    D’ailleurs on ne sait pas d'où sort ce CODESECTEUR1, mais bon.
    Utilise une variable chaine que tu initialise à vide ""
    Ensuite parcours ta requête, en étant sur que le premier tri de ta requête soit bien CODESECTEUR.
    Puis à chaque lecture tu fait une comparaison de ta variable chaine.
    Si la valeur variable chaine est différente de celle de CODESECTEUR alors tu met la valeur de CODESECTEUR dans ta variable chaine et tu incrémente ton numéro de série.

    Je ne veux pas te donner le code mais je te donne déjà toute la marche à suivre
    la touche est ton amie. l'aide ne mord pas quand on la consulte...
    PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)

    Pensez à utiliser les votes et à cliquer sur , merci

  9. #9
    Membre du Club
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Mars 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2007
    Messages : 54
    Points : 53
    Points
    53
    Par défaut
    Ok merci.

    ca commence à aller. je vais bien voir de près.

    Bonne soirée!!!!

Discussions similaires

  1. Réponses: 12
    Dernier message: 12/05/2014, 10h31
  2. Création d'un état à partir d'une requête
    Par Random Dude dans le forum IHM
    Réponses: 5
    Dernier message: 19/07/2013, 10h51
  3. Réponses: 7
    Dernier message: 04/09/2011, 18h14
  4. Création d'un état à partir d'une requête
    Par keeepcoool dans le forum IHM
    Réponses: 1
    Dernier message: 31/03/2009, 06h44
  5. Remplissage d'un état à partir d'une requête
    Par Zenerox dans le forum VBA Access
    Réponses: 2
    Dernier message: 10/05/2008, 22h15

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