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 03/02/2011, 09h14   #1
Invité de passage
 
Inscription : septembre 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 3
Points : 1
Points : 1
Par défaut Probleme passage de Variables entre VB6 et Crystal XI

Bonjour,
Je suis en cours de TESTS pour passer de Crystal 8 à Crystal XI et je rencontre un problème en ce qui concerne le passage de variables depuis un programme VB6.
Auparavant dans VB6 nous posions l'ocx Crystl32.ocx sur la feuille et pour attaquer les variables posées sur nos Reports cela se faisait de la manière suivante :
Code :
CrystalReport1.Formulas(0) = "Version='" + VersionVB + "'"
où Version est le nom de la variable du Report (en fait il s'agit d'une formule vide dans le Report) et VersionVB est la variable VB que l'on passe.
Avec Crystal Report XI l'ocx Crystl32.ocx n'existe plus, nous somme donc obligé de passer pas le CrViewer, voici ce que cela donne:
Déclaration:
Code :
1
2
Public WithEvents m_Report AS CRAXDRT.Report
Public m_App AS New CRAXDRT.Application
Programme:
Code :
1
2
3
Set m_Report = m_App.OpenReport("S:\MAGASIN\TEST.RPT", 1)
CrystalReport1.ReportSource = m_Report
m_Report.RecordSelectionFormula = "{@Version}='" + VersionVB + "'"
Et c'est là où se situe le problème ... pas moyen, j'ai mis @ ou pas ...(car j'ai vu dans Crystal XI que quand on rappel les formules il y a un @
Mais dans les deux cas soit le programme me dit
Citation:
Ce nom de champ est inconnu" avec l'@ ou "langage basic non pris en charge
(un truc comme ça, je l'ai eu qu'une fois) et sans l'@ ça passe mais cela ne fonctionne pas dans le report ...
Je me demande si j'attaque la bonne propriété RecordSelectionFormula...
Il n'y a vraiment rien de documenté sur le net à ce sujet et je ne sais pas quel bouquin acheter pour faire le tour du sujet Crystal XI ...
Merci pour votre aide
SEB.
ACIDEV est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 15h02   #2
Membre habitué
 
Inscription : juin 2008
Messages : 96
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 96
Points : 114
Points : 114
Ce que tu est en train de faire avec RecordSelectionFormula c'est de redéfinir la formule de sélection d'enregistrement or ce n'est pas ce que tu veux faire.
Je vois pas bien l'utilité de le passer dans une formule mais si c'est à tout prix la méthode voulue il faudrait alors utiliser m_Report.FormulaFields.Add ...
Je te conseille plutot de passer un paramètre, par exemple pour valoriser le paramètre {?Version} depuis VB :

Code :
1
2
3
4
5
6
 
FOR i = 1 TO m_Report.ParameterFields.Count
IF m_Report.ParameterFields(i).ParameterFieldName = "Version" THEN 
  m_Report.ParameterFields(i).AddCurrentValue VersionVB
endif
Next
GaelleH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 09h41   #3
Membre actif
 
Inscription : août 2006
Messages : 164
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 164
Points : 160
Points : 160
Je ne sais pas si tu le connais mais il y a un fichier d'aide (pas super mais c'est toujours mieux que rien) pour la programmation :
Citation:
C:\Program Files\Business Objects\Crystal Reports 11\Developer Files\Help\fr\CrystalDevHelp.chm
C'est l'emplacement sur mon poste. Je l'ai découvert par hasard, aucun raccourci n'y faisant référence dans mon cas du moins.
250rgv est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h48.


 
 
 
 
Partenaires

Hébergement Web