Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Crystal Reports
Crystal Reports Forum d'entraide sur Crystal Reports. Avant de poster --> FAQ Crystal, Tutoriels Crystal
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/12/2007, 11h25   #1
Invité régulier
 
Inscription : mai 2005
Messages : 15
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 15
Points : 8
Points : 8
Par défaut [CR9] Shared var et sous-état

Bonjour,

Crystal Reports 9


0) J'ai actuellement un état principal qui filtre les enregistrements d'une table de factures selon une plage de date.

Ayant besoin de rajouter une nouvelle colonne contenant le semblable des informations mais de l'année N-1, j'ai pensé à créer un sous-état lié au principal.
Pour ce qui est des informations de liens, tout est bon

Les paramètres de l'état principal, c'est-à-dire la date de début et la date de fin de la sélection ne peuvent pas être lié au sous-état sinon je garderais les mêmes dates or il me faut une nouvelle selection.

ex : les mouvements de stocks de la plage de date choisie : 1/1/2007 au 17/5/2007
J'ai besoin de connaître les mouvements de stocks de la plage de date : 1/1/2006 au 17/5/2006

1)J'ai donc tenté de faire des shared var.
Dans main sur une champ formule nommé XXX :
shared datevar date_d = {?Date debut};

ensuite je mets ce champ XXX dans le header de mon état principal.

2) Dans mon sous-état lorsque je veux modifier ma formule de séléction des enregistrements, je suis bloqué car je ne peux pas réutiliser la shared var.

Code :
1
2
3
4
5
{Article.Famille} = {?Pm-Article.Famille} and
{Article.Code} = {?Pm-Article.Code} and
{ENTETE_FACTURE.date_facture} >= CDate(DateAdd('yyyy',-1,{?Date_d} )) and 
{ENTETE_FACTURE.date_facture} <= CDate(DateAdd('yyyy',-1,{?Date_f} ))

3) Comment dois-je m'y prendre pour résoudre mon problème?


En esperant que j'ai été assez clair. Merci d'avance pour vos réponses.

Cordialement,
Sylvain
Folkensan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2007, 11h35   #2
Inactif
 
Avatar de Aitone
 
Inscription : novembre 2006
Messages : 3 569
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 3 569
Points : 3 291
Points : 3 291
Bonjour,

Tu as bien parti
Il faut placer ton sous-état en en-tête d'état et faire le lien uniquement avec la date de début. Dans l'état principal tu as pour l'expert sélection :
Code :
{date_fact} IN {?datedeb} TO {?datefin}
Et dans ton sous-état, pour l'expert selection :
Aitone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2007, 11h53   #3
Invité régulier
 
Inscription : mai 2005
Messages : 15
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 15
Points : 8
Points : 8
J'arrive pas à lier les deux états sur les champs {?Date début} et {?Date fin}, il n'enregistre pas les modifications.

Folkensan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2007, 11h59   #4
Inactif
 
Avatar de Aitone
 
Inscription : novembre 2006
Messages : 3 569
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 3 569
Points : 3 291
Points : 3 291
dans ton sous-état, tu créé un paramètre {datedeb} et tu ne relies que celui à. Et il faut le relier à gauche dans "Champ de paramètre de sous-état à utiliser", sous ?Pm-?datedeb, tu auras ?datedeb
Il ne faut pas prndre datefin car tu n'en a pas besoin dans le sous-état !
Aitone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2007, 12h04   #5
Invité régulier
 
Inscription : mai 2005
Messages : 15
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 15
Points : 8
Points : 8
Comme expliqué plus haut,

J'ai une plage de date N : 1/1/2007 à 1/5/2007 (exemple)
Il me faut N-1 : 1/1/2006 à 1/5/2006

Il me faut donc les deux dates.
Mais je te remercie pour tes infos, je vais essayer après manger.
Folkensan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2007, 12h06   #6
Inactif
 
Avatar de Aitone
 
Inscription : novembre 2006
Messages : 3 569
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 3 569
Points : 3 291
Points : 3 291
Oupsss

Alors tu créé dans le sous-état, deux paramètres : {?datedeb} et {?datefin}.
Dans le principal tu créé deux formules : @datedeb et @datefin où tu calcules ta date moins un an !
Tu relies ces deux formules aux deux paramètres.
Aitone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2007, 08h51   #7
Invité régulier
 
Inscription : mai 2005
Messages : 15
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 15
Points : 8
Points : 8
merci de ton aide, Resolu.
Folkensan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h29.


 
 
 
 
Partenaires

Hébergement Web