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 :

[WD12] Etat imprimé que partiellement


Sujet :

WinDev

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2008
    Messages : 88
    Points : 66
    Points
    66
    Par défaut [WD12] Etat imprimé que partiellement
    Bonjour a tous!

    J'utilise une source de données programmée pour mon etat. J'ai verifié et archi-verifié le code, mais je ne trouve pas l'erreur; qui est que, seulement un enregistrement est imprimé dans mon etat, seulement le dernier.

    Ci dessous sont mes codes:

    Ouverture de l'etat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    xTotalHeure est un numérique
    sIngenieurIci est une chaîne
    HLitRecherchePremier(Activité, Ingenieur, "")	// Trier en ordre les données par Ingenieur


    Lecture des données:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    SI HEnDehors() ALORS
    	// Arrêt de l'impression du bloc Corps
    	RENVOYER Faux
    SINON
    	// Impression du bloc Corps et exécution de ses traitements
    	RENVOYER Vrai
    FIN


    Avant impression de corps:
    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
    34
    35
     
     
    TANTQUE PAS HEnDehors()
    	SI Activité.Date < "20090401" _AND_ Activité.Date > "20081231" ALORS
     
    		SI Activité.Departement = "Developeur" ALORS
     
    			SI Taille(sIngenieurIci) = 0 ALORS
    				sIngenieurIci = Activité.Ingenieur
    			FIN
     
    			SI sIngenieurIci <> Activité.Ingenieur ALORS
    				RUB_RUBRIQUE1 = "Developeur"
    				RUB_RUBRIQUE2 = sIngenieurIci
    				RUB_RUBRIQUE3 = xTotalHeure
    				xTotalHeure = Activité.NombreHeure
    			SINON
    				xTotalHeure += Activité.NombreHeure
    			FIN
     
    			sIngenieurIci = Activité.Ingenieur
    		FIN
     
    	FIN
     
    	HLitSuivant(Activité)
    FIN
     
    SI Taille(sIngenieurIci) <> 0 ALORS
     
    	RUB_RUBRIQUE1 = "Developeur"
    	RUB_RUBRIQUE2 = sIngenieurIci
    	RUB_RUBRIQUE3 = xTotalHeure
     
    FIN

    Si quelqu'un peut m'aider la dessus SVP?

    Merci infiniment d'avance!

  2. #2
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Bonjour
    C'est normal le parcours doit se faire dans le bloc "Lecture des données"

    Ajoute un HlitSuivant à le fin de ce bloc et ça ira mieux
    en supprimant bien sur le parcours dans "Avant impression de corps"

    Moi je fais aussi l'alimentation des rubriques du corps dans le bloc "Lecture des données"

  3. #3
    Membre du Club Avatar de samlerouge
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2003
    Messages : 58
    Points : 66
    Points
    66
    Par défaut
    hello,

    Le problème vient du "TANTQUE" dans le corps. En effet, ton code boucle jusqu'au dernier enregistrement, donc imprime seulement celui-ci. Le contrôle du HEndehors est fait lors de la lecture.

    Il faut supprimer le TANTQUE et ajouter dans le bloc après impression du corps

    Autrement, pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SI Activité.Date < "20090401" _AND_ Activité.Date > "20081231" ALORS
    Je te conseil de mettre les date comme paramètres de l'état et de mettre un filtre avec ces valeurs sur le fichier ACTIVITE ou bien de choisir comme source de données une requête. Comme cela tu n'auras pas à effectuer ce test dans le corps.

    Personnellement j'utiliserais une requête paramétrée.


    Bon dév.

    Samuel
    Windev-Webdev - Oracle- PLSQL
    est l'ami de tout le monde

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2008
    Messages : 88
    Points : 66
    Points
    66
    Par défaut
    Desolé, j'ai pas trop bien compris ce que tu m'as dit; a propos du HLitSuivant(). Il y en a deja une dans le boucle.

    Au fait, tout etait dans la "Lecture de données" auparavant; tout marchait correctement; mais en utilisant des infos, j'ai constaté que l'execution n'etait pas optimum.

    Je ne suis pas sur! Mais j'ai constaté que le programme fait le boucle a plusieurs reprises!

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2008
    Messages : 88
    Points : 66
    Points
    66
    Par défaut
    Salut Samlerouge!

    T'as raison pour le filtre! Mais dans mon 'requirement', je ne dois pas utiliser HFiltre!

    C'est pour ça que j'ai utilisé plein de SI!

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/06/2008, 22h40
  2. [Etat]-Imprimer un seul enregistrement
    Par Kelly182 dans le forum VBA Access
    Réponses: 2
    Dernier message: 13/06/2007, 12h08
  3. [Etat]Imprimer un enregistrement par page
    Par The_Super_Steph dans le forum IHM
    Réponses: 6
    Dernier message: 24/05/2007, 08h59
  4. [Etat] Comment n'imprimer que la dernière page ?
    Par TLImpala dans le forum IHM
    Réponses: 3
    Dernier message: 09/05/2007, 14h02
  5. Réponses: 6
    Dernier message: 21/08/2006, 00h06

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