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

SAP Crystal Reports Discussion :

[CR XI] accéder aux propriétés des champs d'un etat


Sujet :

SAP Crystal Reports

  1. #1
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut [CR XI] accéder aux propriétés des champs d'un etat
    Salut,

    Est-ce possible d'accéder aux propriétés d'un champ du rapport depuis une fonction globale du rapport?

    Je dois faire un certain nombre de contrôles et mettre en évidence les champs selon certains critères. Je me dis que une fonction globale qui reçoit en paramètre 2 ou 3 champs. Le soucis est que je ne vois pas comment faire pour accéder aux propriétés des champs (typiquement background).

    merci d'avance
    il vaut mieux prendre son pied que de se prendre la tête!!

    http://bossun.noxblog.com

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 18
    Points : 21
    Points
    21
    Par défaut
    Salut,
    click droit sur ton champ et fait 'mettre en forme le champ' (de mémoire) tu aura accès à tous les paramètres de mise en forme possible.
    Si tu click ensuite sur le petit bouton à droite du paramètre voulu, tu pourra entrer une formule qui pourra être basé sur tous les champs que tu veux

  3. #3
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    Euhh,, ça je sais le faire mais le soucis c'est que je voudrais avoir accès aux propriétés depuis une autre fonction globale...

    je veux créer une fonction qui compare 2 champs.. je ne veux pas écrire 15fois la même fonction. je veux lui passer en paramètre les champs que je veux comparer et dans cette fonction, suivant ma condition, mettre en évidence mes champs...

    est-ce que je peux faire quelque chose du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {commande.MonChamp}.BackGroundColor=crBlue
    il vaut mieux prendre son pied que de se prendre la tête!!

    http://bossun.noxblog.com

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 18
    Points : 21
    Points
    21
    Par défaut
    tu peux creer une fonction dans CR du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if [n importe quel champ]>0 then
    formula=RGB(0,0,255) 
    else
    formula=RGB(255,0,0) 
    end if
    Ensuite dans la propriété couleur de fond des champs qui doivent subir un changement de couleur (en cliquant sur le petit bouton à côté de la propriété tu rentre dans l'éditeur de formule) tu inscrit 'formula=[nom de ma fonction]'

    Ainsi si tu as 10 champs avec ce changement de couleur conditionel, il suffit de changer seulement la fonction pour que tes 10 champs soient affectés.

    Je ne suis pas sur à 100% de la syntaxe, je ne peux pas tester car mon CR est sur mon ordi au bureau, peut-être qu'un membre de la communauté pourra me corriger...

  5. #5
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    Cirdec es-tu sûr de ce que tu me dis? ou alors je n'ai pas tout compris...


    ENfin provisoirement j'ai copié 14fois ma formule et ça marche plutôt bien...

    Mais le soucis vient maintenant lorsque le mets mon rapport (celui qui a la mise en forme conditionnelle) comme sous rapport, je ne vois pas la mise en forme conditionnelle.

    Bizarre
    il vaut mieux prendre son pied que de se prendre la tête!!

    http://bossun.noxblog.com

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 18
    Points : 21
    Points
    21
    Par défaut
    Douterai-tu de moi ???
    haha sans blagues, j'ai monté plusieurs rapports du style 'tableau de bord' de cette façon, avec plusieurs indicateurs dont la couleur de fond change (rouge, orange, vert) en fonction de sa valeur qui est comparée à un objectif fixe.
    Mais peut-être que c'est moi qui explique mal, je n'ai hélas pas CR sur mon ordi à la maison, et pas question d'aller sur le forum au boulot

    Par contre je ne vois pas pourquoi ca ne fonctionne plus en tant que sous-rapport. Mets-toi des mouchards: sort ta formule de la mise en forme et met la dans un champ texte et adapte là pour que soit écrit 'rouge' en texte par exemple au lieu de mettre reellement en rouge. Si ca marche tu as un problème avec tes couleurs, si ca ne marche pas, tu as un problème avec ta formule...

  7. #7
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    Citation Envoyé par Cirdek Voir le message
    Douterai-tu de moi ???
    Haha ,, non mais j'avais pas bien saisi ce que tu me disais mais là en fait c'est bon... c'est assez proche de ce que je voulais faire..


    soit une fonction globale au niveau rapport (pour tester)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Function HighLightDiff (arg1 as Variant, arg2 as Variant)
        if arg1 <> arg2 then
            HighLightDiff = crRed
        else
            HighLightDiff = crWhite
        end if    
    End Function
    comme tu dis j'appelle ma fonction en mettant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    formula = HighLightDiff ({command.PutOrCallDevon},{command.PutOrCallPano})
    le soucis est que ça ne marche pas.. car le type de données peut être soit texte, numérique ou date. alors je me suis dit que un type Variant Serait bien mais en basic de CrystalReports je ne sais pas comment déclarer un type en variant.


    Par contre je ne vois pas pourquoi ca ne fonctionne plus en tant que sous-rapport.
    au fait ça marche ça...
    il vaut mieux prendre son pied que de se prendre la tête!!

    http://bossun.noxblog.com

Discussions similaires

  1. [Débutant] C# Comment accéder aux propriétés des contrôle sur un autre formulaire
    Par Claude_Azoulai dans le forum Visual Studio
    Réponses: 0
    Dernier message: 03/04/2013, 17h04
  2. [Débutant] Accéder aux propriétés des objets connexes
    Par Nalexinho dans le forum Entity Framework
    Réponses: 3
    Dernier message: 29/06/2012, 00h27
  3. Réponses: 3
    Dernier message: 04/10/2010, 18h26
  4. Comment accéder aux valeurs des champs de DetailsView?
    Par insane_80 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 06/07/2008, 21h12
  5. Réponses: 6
    Dernier message: 25/09/2006, 17h08

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