# Logiciels > Solutions d'entreprise > Business Intelligence > SAP Crystal Reports > [CR 2008] Insertion image dynamique

## ikritt2

Bonjour, 
j'utilise la version de crystal fournie avec VS 2008
Je fais des rapports avec insertion d'image mais du coup a me fait des fichiers volumineux.
Est-il possible d'insrer dynamiquement ces images afin de rduire le volume de mes fichiers ?

Merci pour vos rponses
Ikritt

----------


## calagan99

Pour ma part j'utilise Reporting Services mais je pense que le principe doit tre le mme :
Je passe un paramtre supplmentaire  la requte ou proc stock de mon report : IMAGE_PATH (type string)
Je mets une image sur mon report, indique qu'il s'agit d'une image externe
Je conditionne son affichage au fait que le paramtre IMAGE_PATH est diffrent de NULL et n'est pas empty.
Lors du render de mon report dans une appli web je dclare ma collection de paramtres, et fournis  IMAGE_PATH le lien voulu.

En esprant que tu puisses appliquer cela  Crystal Reports.  ::D: 

Edit : euh, aprs rflexion, je ne vois pas en quoi le fait de charger l'image dynamiquement va rendre le report moins volumineux...  ::calim2::

----------


## ikritt2

c'est juste pour une histoire de dploiement que je veux insrer l'image dynamiquement.
Nous faisons beaucoup d'tats qui se trouvent dans une dll qui n'arrte pas de gonfler  cause des images que nous insrons.

je trouve bien ce que tu me dis avec le reporting de microsoft, mais je ne trouve pas la mme chose avec Crystal.

Je continue mes recherches en esprant que quelqu'un pourra m'aider

----------


## ibleseul

Salut ikritt2 

Je me trouve dans le meme problme que toi. Donc si tu trouve la solution, postes la ici.

Merci

----------


## luc_chivas

> c'est juste pour une histoire de dploiement que je veux insrer l'image dynamiquement.
> Nous faisons beaucoup d'tats qui se trouvent dans une dll qui n'arrte pas de gonfler  cause des images que nous insrons.


Bonjour, 

qu'entend tu par "deployer un rapport" ?

----------


## mohamed301084

En attente de la rponse ....


Postez si trouv ..... merci

----------


## luc_chivas

ben sur CR2008, tu peux indiquer ou se trouve ton image.. et voir passer des paramtres si ton image doit changer en fonction de critres..

----------


## mohamed301084

Et avec une version de Crystal antrieure  2008 ? 

J'utilise Crystal Report embedded dans la version Visual Studio 2008.

Et je n'ai pas du tout cette option...

----------


## luc_chivas

> Et avec une version de Crystal antrieure  2008 ? 
> 
> J'utilise Crystal Report embedded dans la version Visual Studio 2008.
> 
> Et je n'ai pas du tout cette option...



A priori , la version correspondant dans VS2008 est la version 10




> Visual Studio 2008 comes with a bundled version of Crystal Reports called Crystal Reports Basic 2008. CRBasic's version number is 10.5 and is based on the same version (10) that came with Visual Studio 2005.


Donc effectivement, cette option n'est apparue qu' partir de la version XI.
Chez certains Client, pour pouvoir paramtrer les images sur cette version, j'ai utilis unoutils qui s'appelle cViewImage dvelopp par MindConnection.
cela fonctionne trs trs bien, mais.... cela n'est pas gratuit, mme si ce n'est pas trs cher.

Fait une recherche sur le Web, tu peux rcuprer une version d'valuation

----------


## mohamed301084

Merci pour le coup de main.

J'ai install le logiciel.


MAIS je ne trouve pas COM Connectivity pour ajouter le programme ID : 

CViewImage.SingleFile dans l'expert Base de donnes de mon sous rapport.


Des ides ?

----------


## luc_chivas

Vrifier les options d'installation ??

----------


## mohamed301084

Malheureusement je n'ai pas le Setup de crystal Report 10.


Le Crystal Report que j'ai est le Crystal Report incorpor dans Visual Studio.


Je viens de mettre le CD installation VS 2008 mais aucune section Crystal report n'apparait.


Mais en installant VS2008, j'avais bien install tous les composants possibles et imaginables du CD.

Pour info, j'ai une version VS Professionel.

----------


## ibleseul

les images dynamique avec crystal report c'est possible

----------


## mohamed301084

Effectivement, il est possible d' afficher une image sous crystal report qui sera dfinie dans le code vb ou c# .net

----------


## ibleseul

Pour afficher une image dynamiquement il faut passer un DATASET fortement typ. je m'explique
1-Crer un DATASET bas sur la table qui sera rattache  l'tat
2-Ajouter une colonne  ce DATASET 
3-Nommer cette colonne et changer le type en ByteChar[]
4-Pour Ajouter le DATASET  crystal report passez par Visual studio ensuite vous pourrez utiliser Crystal Report pour terminer votre tat

Je vous donne ces deux mthodes la premire pour remplir le DATASET avec le chemin de l'image et la seconde pour convertir l'image et byte. La seconde mthode est appel dans la premire



```

```

 

```

```


voici un exemple:

remplirImages(Dtable, "ImgSrc", 10);

Dtable=DataTable qui reoit le DATASET pralablement remplie
ImgSrc=la colonne cre dans le DATASET. C'est la colonne de type ByteChar[]
10=la position dans le DATASET du champ contenant l'image.

Je prcise que ce code c'est du C# je l'ai fais et pas de blem a marche
Si il y a des incomprhension je suis dispo
En esprant vous avoir aids.

----------


## billinfopro

Bonjour ibleseul
En fait j'ai tester ton code avec du vb.net mais eu jusqu'a present l'image ne s'affiche pas. Je sais pas exactement quel est mon probleme.
Pour l'enregistrement dans la BD access (Objet OLE) pas de blem l'a dessu mais la franchement je sais plus. 
Voila le code:


```

```



```

```




```

```



```

```

J'espere que vous comprenez a peu pres ce que je veux faire !

----------


## ibleseul

Slt,
Dans ta requte ne charge pas l'image mme (objet OLE) mais plutt le chemin d'accs  cette image.
Donc en lieu et place de ton champ photo met le chemin d'accs  l'image et tiens moi inform je reste dispo

Excuse moi en mettant image je faisais rfrence au chemin d'accs de l'image.

----------


## billinfopro

Bonjour merci pour la reponse
En fait il se trouve que le chemin d'acces des photos est tres long. Si je change le type du champ photo de la base en "Texte" a m'affiche un msg d'erreur a linsertion qui dit que le champs ne peut pas le contenir

Je m'explique j'utilise dans un module une fonction que voici:


```

```

En fait comment je vais charger le chemin de l'image vu que ma table ne peut le contenir.
Encore une precision j'ai pas une colone de type  ByteChar[] dans mon dataset . a n'existe pas dans ma liste

----------


## ibleseul

Slt,
Excuse moi tu as raison le type c'est *System.Byte[]*. Concernant le champ qui doit contenir le chemin de l'image dans la base de donnes comme c'est une base access met ton champ en Memo au lieu de texte.
Je suis dispo si tu as d'ventuel question.

----------


## billinfopro

Slt j'ai essayer ce que tu m'a propos comme solution mais jusqu'a present a n'affiche pas ! Voila le msg d'erreur 


> Incompatibilit de type ne pouvant pas tre converti entre SourceColumn 'Photo' et de String et DataColumn 'Photo' de Byte[]

----------


## siro1

> Pour ma part j'utilise Reporting Services mais je pense que le principe doit tre le mme :
> Je passe un paramtre supplmentaire  la requte ou proc stock de mon report : IMAGE_PATH (type string)
> Je mets une image sur mon report, indique qu'il s'agit d'une image externe
> Je conditionne son affichage au fait que le paramtre IMAGE_PATH est diffrent de NULL et n'est pas empty.
> Lors du render de mon report dans une appli web je dclare ma collection de paramtres, et fournis  IMAGE_PATH le lien voulu.
> 
> En esprant que tu puisses appliquer cela  Crystal Reports. 
> 
> Edit : euh, aprs rflexion, je ne vois pas en quoi le fait de charger l'image dynamiquement va rendre le report moins volumineux...


ce que tu dis la m'intresse ! peut tu apporter plus de prcision concernant ce sujet ? je voudrais savoir comment on affiche une image selon le lien qu'on aurait renseign. . .

MErci

----------

