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

Formules Discussion :

Problème dans l'utilisation des variables partagées [CR XI]


Sujet :

Formules

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut Problème dans l'utilisation des variables partagées
    BOnjour,

    Je sais que ce sujet a souvent été discuté précédemment, mais suite à la lecture des précédents post, je n'ai toujours pas résolu mon problème.

    J'ai un rapport pricipal et un sous-rapport. De ce dernier, je veux renvoyer une donnée nommée "Nombre_Interventions" pour l'afficher dans le rapport principal.

    Voici comment j'ai déclaré mes variables "shared" dans mon rapport.

    Dans l'entête du rapport principal:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //variable utilisée dans le sous-rapport pour compter le nombre d'interventions d'une requête.
    shared numbervar Nombre_Interventions; 
     
    Nombre_Interventions:=3;

    Dans l'entête du sous-rapport:

    *** Il est a noter que je fais afficher "Nombre_Interventions" dans l'entête du sous-rapport juste pour m'assurer que le nombre 3 s'y affichera... et ça fonctionne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    shared numbervar Nombre_Interventions;
    Nombre_Interventions;

    Dans le pied de page du rapport:

    *** Je fais afficher le calcul de la vairable "Nombre_Interventions" + un compteur. Ex: 3+5=8. Jusque là, ça fonctionne bien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    shared numbervar Nombre_Interventions;
    Nombre_Interventions:=Nombre_Interventions+{#RTotal0}

    Lorsque je reviens à mon rapport principal:

    *** Peu importe où je fais afficher ma formule indiquée plus bas (en pied de page, en fin de groupe ou en "détail d"), j'obtiens toujours "3", soit la valeur affectée au début du rapport. Je perd donc le résultat du précédent calcul. En passant, mon sous-rapport est lancé en "Détail c".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    WhilePrintingRecords;
    shared numbervar Nombre_Interventions;
    Nombre_Interventions
    Je ne comprend pas ce qui se passe. Pourriez-vous m'aider SVP?
    J'ai même suivi le FAQ suivant (http://adrien-artero.developpez.com/...rts/sous-etat/). C'est bien expliqué, mais il y a quelque chose que je ne dois pas comprendre.

    Merci,

    Balises [Code] ajoutées par L.nico merci d'y penser à l'avenir

  2. #2
    Membre émérite
    Avatar de L.nico
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 143
    Points : 2 679
    Points
    2 679
    Par défaut
    Bonjour et bienvenue sur le forum ,
    et si en entête de chaque formule vous rajoutez WhilePrintingRecords;
    comme dans la dernière formule

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Merci L.nico. Malheureusement, j'avais déjà essayé et ça ne fonctionne pas.

    Avez-vous d'autres idées?

    Merci à l'avance!

  4. #4
    Membre émérite
    Avatar de L.nico
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 143
    Points : 2 679
    Points
    2 679
    Par défaut
    A vrai dire pour l'instant je ne comprends pas comment ca pourrait fonctionner sans que l'on précise le moment d'evaluation (Whileprintingrecords) pour pouvoir respecter la continuité entre l'affichage et le contenu des variables partagées ...
    De plus tu affiches le contenu de la variable dans le sous-rapport (8) qui est juste...

  5. #5
    Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    J'ai mis WhilePrintingRecords; au début de chaque formule (autant dans le rapport principal que dans le sous-rapport) et le résultat ne revient pas au rapport principal.

    Avez-vous d'autres idées?

  6. #6
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 202
    Points : 258
    Points
    258
    Par défaut
    Ce n'est pas parce que le sous-rapport est en détail c que celui-ci est évalué avant le détail d .

  7. #7
    Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Alors, que me suggérez-vous? J'ai beau faire afficher le résultat de la formule n'importe où en fin de rapport (dans le détail ou en fin de groupe ou en fin de rapport), ça n'affiche pas le bon résultat.

  8. #8
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 202
    Points : 258
    Points
    258
    Par défaut
    Je n'ai pas la réponse, et j'ai d'ailleurs un problème similaire au votre et c'est pour ca que je suis venu ici : Je n'arrive pas à forcer l'évaluation d'un sous état AVANT une formule de l'état principal située dans la meme section que le sous état... avoir une fonction evaluateafter(sous-état) en quelque sorte...

  9. #9
    Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Je viens de trouver la source de mon problème. Ce que je n'avais pas mentionné, c'est que mon sous-rapport est un sous-rapport à la demande. Si je configure mon sous-rapport pour qu'il s'affiche tout le temps, ça fonctionne super bien.

    Malheureusement, je dois absolument configurer mon sous-rapport à la demande, car mon sous-rapport est énorme. C'est pour cette raison que je demande de faire ressortir le sous-rapport seulement quand nous le voulons.

    Que puis-je faire?

    Merci, nous allons y arriver!!!

  10. #10
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 202
    Points : 258
    Points
    258
    Par défaut
    Je trouve que dans votre cas, il vaut mieux faire un sous état normal et inclure un nouveau paramètre à l'état principal pour demander à l'utilisateur si O ou N il veut que soit calculé le nombre d'interventions et de conditionner la suppression du détail c avec not({?paramètre}="O") .
    Finalement je me rends compte que mon pb était différent du votre et je vous prie donc de m'excuser d'avoir soulevé un autre pb dans le fil que vous avez initié.

  11. #11
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Points : 4 493
    Points
    4 493
    Par défaut
    Bonjour,

    Cela veut dire quoi le sous-état est énorme ? S'il n'est pas parcouru, il ne peut transmettre les infos...

  12. #12
    Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Je veux dire que mon sous-rapport génère beaucoup de données. C'est pour cette raison que je le configure "À la demande" pour éviter de générer beaucoup de page pour rien. Par contre, j'aurais aimé quand même retourner certaines informations à mon rapport principal, même si le sous-rapport est configuré "À la demande".

    D'après ce que je peux en conclure, c'est que le sous-rapport n'est pas du tout exécuté, tant que l'usager n'a pas cliqué sur le lien pour faire afficher le sous-rapport. C'est donc pour cette raison que mes calculs ne fonctionnes pas. Ai-je bien compris?

    Alors, comment pourrais-je faire pour "simuler" des sous-rapport à la demande sans utiliser cette fonction. Autrement dit, comment pourrais-je faire pour cacher tous mes sous-rapports et faire apparaître celui que je veux quand j'en ai besoin?

    Si on reprend mon exemple, mon sous-rapport est dans la section "Détail C". Si mon rapport principal génère, par exemple, 10 enregistrements, j'obtiens donc 10 fois le sous-rapport. Vrai? Bon. Comment pourrais-je faire pour cacher tous mes sous-rapports et au besoin, faire afficher, par exemple, le sous-rapport de l'enregistrement #4.

    Question comme ça. Est-il possible d'ajouter un objet quelconque (lien, bouton, etc) pour que, lorsque l'usager clique dessus, ça fait apparaître le sous-rapport désiré?

    Merci,

  13. #13
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Points : 4 493
    Points
    4 493
    Par défaut
    Citation Envoyé par sep_ghis Voir le message
    D'après ce que je peux en conclure, c'est que le sous-rapport n'est pas du tout exécuté, tant que l'usager n'a pas cliqué sur le lien pour faire afficher le sous-rapport. C'est donc pour cette raison que mes calculs ne fonctionnes pas. Ai-je bien compris?
    exactement
    Citation Envoyé par sep_ghis Voir le message
    Si on reprend mon exemple, mon sous-rapport est dans la section "Détail C". Si mon rapport principal génère, par exemple, 10 enregistrements, j'obtiens donc 10 fois le sous-rapport. Vrai?
    vrai
    Citation Envoyé par sep_ghis Voir le message
    Bon. Comment pourrais-je faire pour cacher tous mes sous-rapports et au besoin, faire afficher, par exemple, le sous-rapport de l'enregistrement #4.
    Pourquoi le #4 ? tu le définis toi même ?
    tu as la possibilité de faire un clic droit sur ton sous-état, mettre en forme le sous-état puis mettre une formule de suppression genre
    Citation Envoyé par sep_ghis Voir le message
    Question comme ça. Est-il possible d'ajouter un objet quelconque (lien, bouton, etc) pour que, lorsque l'usager clique dessus, ça fait apparaître le sous-rapport désiré?
    A vrai dire, je n'en ai pas la moindre idée

  14. #14
    Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Merci pour les réponses.

    Pourquoi l'enregistrement #4? C'est simplement un exemple. Le fait de vouloir utiliser les sous-rapports à la demande, c'est justement de vouloir faire afficher le sous-rapport qui nous intéresse.

    Comment pourrais-je faire afficher le sous-rapport X (choisi par l'utilisateur une fois le rapport principal généré) tout en faissant fonctionner mes calculs dans mes sous-rapports, sans utiliser la fonction "Sous-rapport à la demande" qui, elle, m'empêche d'obtenir le résultat des formules?

  15. #15
    Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    J'ai solutionné mon problème concernant ma dernière question. J'ai créé un 2e sous-rapport qui est simplement allé chercher le nombre d'interventions d'une requête. Ce sous-rapport est appellé en "Détail A". Une fois que j'ai ce nombre, s'il est plus grand que 0, je fais afficher mon autre sous-rapport qui fait le listing des interventions.

    Merci,

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

Discussions similaires

  1. Problème dans l'utilisation des "paramètres" dans VS 2010
    Par SoAdAnTe dans le forum Visual Studio
    Réponses: 0
    Dernier message: 22/03/2010, 09h36
  2. Problème avec l'utilisation des variables de session
    Par WagaSeb dans le forum Langage
    Réponses: 16
    Dernier message: 22/06/2007, 15h46
  3. Utiliser des variables dans un parsing
    Par blackj dans le forum Langage
    Réponses: 1
    Dernier message: 15/12/2006, 22h04
  4. Réponses: 12
    Dernier message: 11/04/2006, 17h00
  5. utilisation des variables global dans tout le projet
    Par EYENGA Joël dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 12/01/2006, 10h55

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