OVH Cloud OVH Cloud

Image dans Access

6 réponses
Avatar
Guy
Bonjour =E0 tous,

Je suis devant un probl=E8me de taille.
J'explique:

J'utilise le contr=F4le ImageList. A partir de celui-ci, je=20
pr=E9charge des images au format JPG que j'utilise dans un=20
listview. Jusque l=E0, aucun probl=E8me.

Par contre, on dirait qu'il y a incompatibilit=E9 entre le=20
contr=F4le Image d'Access et le contr=F4le ImageList.

Si j'essaye d'int=E9grer une image de l'ImageList dans un=20
contr=F4le Image, j'ai une erreur.

'ces 2 m=E9thodes ne fonctionnent pas
Me.Image.Picture =3D MyCtlImg.ListImages(1).Picture
Me.Image.PictureData =3D MyCtlImg.ListImages(1).Picture

Alors comment peut-on faire ? Est-ce faisable ? Faut-il=20
copier de fa=E7on binaire l'image en m=E9moire ?

Au secours !!

Merci

Guy

6 réponses

Avatar
Raymond [mvp]
Bonjour.

Ton problème est encore plus gros que tu ne l'imagines.
en premier va lire la page de mon site:
http://access.seneque.free.fr/imagelist.htm qui devrait cadrer un peu
imagelist.
dans ton cas ça ne marche pas car il faut charger par set et non directement
le nom dans picture.

Set Moncadreimage.Picture = Imagelist1.ListImages(3).Picture

ceci étant réglé, il te reste la grosseur de ta base qui va enfler, chaque
image étant incluse dans imaglist.
Je te fais les remarques que nous faisons à tout le monde au
sujet des images insérées et même liées concernant le grossissement de la
base access:

Il ne faut pas insérer une image dans un formulaire car la base augmente à
une vitesse vertigineuse, ni la lier d'ailleurs car la base augmente aussi
mais dans une moindre mesure.
Il faut donc placer le chemin de l'image dans un champ texte et afficher
l'image soi-même au moment opportun.
Pour pouvoir afficher des fichiers jpg, il faut que microsoft photo editor
soit installé.
Tu trouveras une base exemple avec un formulaire permettant l'affichage et
le redimentionnement de l'image ainsi qu'un état permettant d'afficher les
images correspondantes à chaque enregistrement de la table. sur:
http://access.seneque.free.fr/bases_exemples.htm N° 38
Tu pourras lire aussi les fiches
ACC2000 : Procédure pour afficher une image à partir d'un dossier dans un
formulaire: http://support.microsoft.com/?id!0100
ACC2000: How to Display an Image from a Folder in a Form or in a Report
http://support.microsoft.com/default.aspx?scid=kb;en-us;210100
ACC : pourquoi les objets OLE font augmenter la taille des bases de
données:
http://support.microsoft.com/?id3151
WORD2000 : Le publipostage
http://support.microsoft.com/default.aspx?scid=kb;FR;212329
WORD2000 : Insertion d'une image ou d'un logo dans un état ou étiquettes
http://support.microsoft.com/default.aspx?scid=kb;FR;212078

De plus si tu veux exporter une image access dans word il ne faut pas
passer
par un controle image pour afficher l'image mais par un cadre indépendant.
tu trouveras des explications et des exemples sur :
http://access.seneque.free.fr/copie_objets_ole.htm

ce sera tout, mais si tu as tenu jusqu'ici, tu es bon.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Guy" a écrit dans le message de
news:065a01c3bf2e$2fa3f160$
Bonjour à tous,

Je suis devant un problème de taille.
J'explique:

J'utilise le contrôle ImageList. A partir de celui-ci, je
précharge des images au format JPG que j'utilise dans un
listview. Jusque là, aucun problème.

Par contre, on dirait qu'il y a incompatibilité entre le
contrôle Image d'Access et le contrôle ImageList.

Si j'essaye d'intégrer une image de l'ImageList dans un
contrôle Image, j'ai une erreur.

'ces 2 méthodes ne fonctionnent pas
Me.Image.Picture = MyCtlImg.ListImages(1).Picture
Me.Image.PictureData = MyCtlImg.ListImages(1).Picture

Alors comment peut-on faire ? Est-ce faisable ? Faut-il
copier de façon binaire l'image en mémoire ?

Au secours !!

Merci

Guy
Avatar
Guy
Raymond,

J'ai téléchargé la base sur la page
http://access.seneque.free.fr/imagelist.htm

J'ai dans le formulaire inséré un contrôle Image
d'Access. J'ai tenté de faire:

Set MonImage.Picture=ImageList1.ListImages(1).Picture

Et j'ai le message:
"Erreur de compilation"
"Utilisation incorrecte de la propriété"

Le même message que celui dont je parlais dans mon premier
post.

A mon avis, ta méthode ne doit pas être au point :-(
As-tu une autre piste ?

Merci.

Guy

-----Message d'origine-----
Bonjour.

Ton problème est encore plus gros que tu ne l'imagines.
en premier va lire la page de mon site:
http://access.seneque.free.fr/imagelist.htm qui devrait
cadrer un peu

imagelist.
dans ton cas ça ne marche pas car il faut charger par set
et non directement

le nom dans picture.

Set Moncadreimage.Picture = Imagelist1.ListImages
(3).Picture


ceci étant réglé, il te reste la grosseur de ta base qui
va enfler, chaque

image étant incluse dans imaglist.
Je te fais les remarques que nous faisons à tout le monde
au

sujet des images insérées et même liées concernant le
grossissement de la

base access:

Il ne faut pas insérer une image dans un formulaire car
la base augmente à

une vitesse vertigineuse, ni la lier d'ailleurs car la
base augmente aussi

mais dans une moindre mesure.
Il faut donc placer le chemin de l'image dans un champ
texte et afficher

l'image soi-même au moment opportun.
Pour pouvoir afficher des fichiers jpg, il faut que
microsoft photo editor

soit installé.
Tu trouveras une base exemple avec un formulaire
permettant l'affichage et

le redimentionnement de l'image ainsi qu'un état
permettant d'afficher les

images correspondantes à chaque enregistrement de la
table. sur:

http://access.seneque.free.fr/bases_exemples.htm N° 38
Tu pourras lire aussi les fiches
ACC2000 : Procédure pour afficher une image à partir d'un
dossier dans un

formulaire: http://support.microsoft.com/?id!0100
ACC2000: How to Display an Image from a Folder in a Form
or in a Report

http://support.microsoft.com/default.aspx?scid=kb;en-
us;210100

ACC : pourquoi les objets OLE font augmenter la taille
des bases de

données:
http://support.microsoft.com/?id3151
WORD2000 : Le publipostage
http://support.microsoft.com/default.aspx?
scid=kb;FR;212329

WORD2000 : Insertion d'une image ou d'un logo dans un
état ou étiquettes

http://support.microsoft.com/default.aspx?
scid=kb;FR;212078


De plus si tu veux exporter une image access dans word il
ne faut pas

passer
par un controle image pour afficher l'image mais par un
cadre indépendant.

tu trouveras des explications et des exemples sur :
http://access.seneque.free.fr/copie_objets_ole.htm

ce sera tout, mais si tu as tenu jusqu'ici, tu es bon.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Guy" a écrit dans
le message de

news:065a01c3bf2e$2fa3f160$
Bonjour à tous,

Je suis devant un problème de taille.
J'explique:

J'utilise le contrôle ImageList. A partir de celui-ci, je
précharge des images au format JPG que j'utilise dans un
listview. Jusque là, aucun problème.

Par contre, on dirait qu'il y a incompatibilité entre le
contrôle Image d'Access et le contrôle ImageList.

Si j'essaye d'intégrer une image de l'ImageList dans un
contrôle Image, j'ai une erreur.

'ces 2 méthodes ne fonctionnent pas
Me.Image.Picture = MyCtlImg.ListImages(1).Picture
Me.Image.PictureData = MyCtlImg.ListImages(1).Picture

Alors comment peut-on faire ? Est-ce faisable ? Faut-il
copier de façon binaire l'image en mémoire ?

Au secours !!

Merci

Guy


.



Avatar
Guy
J'oubliais... Je suis en Access 97. J'ai testé aussi en
2002 et ta façon de faire ne fonctionne pas.


-----Message d'origine-----
Bonjour.

Ton problème est encore plus gros que tu ne l'imagines.
en premier va lire la page de mon site:
http://access.seneque.free.fr/imagelist.htm qui devrait
cadrer un peu

imagelist.
dans ton cas ça ne marche pas car il faut charger par set
et non directement

le nom dans picture.

Set Moncadreimage.Picture = Imagelist1.ListImages
(3).Picture


ceci étant réglé, il te reste la grosseur de ta base qui
va enfler, chaque

image étant incluse dans imaglist.
Je te fais les remarques que nous faisons à tout le monde
au

sujet des images insérées et même liées concernant le
grossissement de la

base access:

Il ne faut pas insérer une image dans un formulaire car
la base augmente à

une vitesse vertigineuse, ni la lier d'ailleurs car la
base augmente aussi

mais dans une moindre mesure.
Il faut donc placer le chemin de l'image dans un champ
texte et afficher

l'image soi-même au moment opportun.
Pour pouvoir afficher des fichiers jpg, il faut que
microsoft photo editor

soit installé.
Tu trouveras une base exemple avec un formulaire
permettant l'affichage et

le redimentionnement de l'image ainsi qu'un état
permettant d'afficher les

images correspondantes à chaque enregistrement de la
table. sur:

http://access.seneque.free.fr/bases_exemples.htm N° 38
Tu pourras lire aussi les fiches
ACC2000 : Procédure pour afficher une image à partir d'un
dossier dans un

formulaire: http://support.microsoft.com/?id!0100
ACC2000: How to Display an Image from a Folder in a Form
or in a Report

http://support.microsoft.com/default.aspx?scid=kb;en-
us;210100

ACC : pourquoi les objets OLE font augmenter la taille
des bases de

données:
http://support.microsoft.com/?id3151
WORD2000 : Le publipostage
http://support.microsoft.com/default.aspx?
scid=kb;FR;212329

WORD2000 : Insertion d'une image ou d'un logo dans un
état ou étiquettes

http://support.microsoft.com/default.aspx?
scid=kb;FR;212078


De plus si tu veux exporter une image access dans word il
ne faut pas

passer
par un controle image pour afficher l'image mais par un
cadre indépendant.

tu trouveras des explications et des exemples sur :
http://access.seneque.free.fr/copie_objets_ole.htm

ce sera tout, mais si tu as tenu jusqu'ici, tu es bon.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Guy" a écrit dans
le message de

news:065a01c3bf2e$2fa3f160$
Bonjour à tous,

Je suis devant un problème de taille.
J'explique:

J'utilise le contrôle ImageList. A partir de celui-ci, je
précharge des images au format JPG que j'utilise dans un
listview. Jusque là, aucun problème.

Par contre, on dirait qu'il y a incompatibilité entre le
contrôle Image d'Access et le contrôle ImageList.

Si j'essaye d'intégrer une image de l'ImageList dans un
contrôle Image, j'ai une erreur.

'ces 2 méthodes ne fonctionnent pas
Me.Image.Picture = MyCtlImg.ListImages(1).Picture
Me.Image.PictureData = MyCtlImg.ListImages(1).Picture

Alors comment peut-on faire ? Est-ce faisable ? Faut-il
copier de façon binaire l'image en mémoire ?

Au secours !!

Merci

Guy


.



Avatar
Raymond [mvp]
A mon avis, ta méthode ne doit pas être au point :-(
la page de mon site indiquée ne concerne que les contrôles communs qui ne

peuvent pas être liés à imagelist tels que panels mais ne concerne pas les
contrôles tels que cadre d'image qui est un contrôle image lui-même.

As-tu une autre piste ?
avant de partir tête baissée, pourquoi veux-tu passer par imagelist, hormis

le fait que tu l'utilises pour un listview ? tu en as beaucoup d'images à
incorporer ? personnellement je n'utilise imagelist que pour les icônes
sinon la base enfle rapidement et je passe par le chemin dans un champ pour
les images.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Guy" a écrit dans le message de
news:019201c3bf3e$4c7d6630$
Raymond,

J'ai téléchargé la base sur la page
http://access.seneque.free.fr/imagelist.htm

J'ai dans le formulaire inséré un contrôle Image
d'Access. J'ai tenté de faire:

Set MonImage.Picture=ImageList1.ListImages(1).Picture

Et j'ai le message:
"Erreur de compilation"
"Utilisation incorrecte de la propriété"

Le même message que celui dont je parlais dans mon premier
post.

A mon avis, ta méthode ne doit pas être au point :-(
As-tu une autre piste ?

Avatar
Guy
Ah Ok ! Je vois pkoi ca ne marche pas.

Donc comme je le disais, je suis sous Access 97.
La raison pour laquelle je voudrais passer par un
ImageList pour charger une image JPG (qui n'est pas
incorporée mais lue dynamiquement sur le disque), c'est en
fait parce que Access97 plante parfois si j'utilise la
méthode traditionnelle LoadPicture. Avec des images BMP
il n'y a aucun problème mais pas avec le JPG ou GIF.

Il est déjà arrivé à mes utilisateurs qu'Access quitte
sans rien dire lorsqu'une image se charge. Et en
changeant ces images au format BMP, plus aucun problème.
Le soucis est que en BMP elle sont trop conséquentes alors
qu'en JPG la taille est réellement réduite, surtout
qu'elles sont chargées sur un réseau assez lent. Tu
comprendras mon ennuis...

Il existe peut-être un ActiveX gratuit quelque part qui
permet bêtement de charger une image JPG... J'ai pas
trouvé.

Une solution docteur ? ;-)

Merci tout de même.

Guy

-----Message d'origine-----
A mon avis, ta méthode ne doit pas être au point :-(
la page de mon site indiquée ne concerne que les

contrôles communs qui ne

peuvent pas être liés à imagelist tels que panels mais ne
concerne pas les

contrôles tels que cadre d'image qui est un contrôle
image lui-même.


As-tu une autre piste ?
avant de partir tête baissée, pourquoi veux-tu passer par

imagelist, hormis

le fait que tu l'utilises pour un listview ? tu en as
beaucoup d'images à

incorporer ? personnellement je n'utilise imagelist que
pour les icônes

sinon la base enfle rapidement et je passe par le chemin
dans un champ pour

les images.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Guy" a écrit dans
le message de

news:019201c3bf3e$4c7d6630$
Raymond,

J'ai téléchargé la base sur la page
http://access.seneque.free.fr/imagelist.htm

J'ai dans le formulaire inséré un contrôle Image
d'Access. J'ai tenté de faire:

Set MonImage.Picture=ImageList1.ListImages(1).Picture

Et j'ai le message:
"Erreur de compilation"
"Utilisation incorrecte de la propriété"

Le même message que celui dont je parlais dans mon premier
post.

A mon avis, ta méthode ne doit pas être au point :-(
As-tu une autre piste ?



.




Avatar
Raymond [mvp]
c'est tout à fait exact.
vu que tu as 2002 , télécharge
http://access.seneque.free.fr/telecharger/images.zip et regarde si tu peux
la convertir en 97.
si oui, c'est peut-être la solution. (verifie les références)

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Guy" a écrit dans le message de
news:0d9301c3bf45$db92b760$
Ah Ok ! Je vois pkoi ca ne marche pas.

Donc comme je le disais, je suis sous Access 97.
La raison pour laquelle je voudrais passer par un
ImageList pour charger une image JPG (qui n'est pas
incorporée mais lue dynamiquement sur le disque), c'est en
fait parce que Access97 plante parfois si j'utilise la
méthode traditionnelle LoadPicture. Avec des images BMP
il n'y a aucun problème mais pas avec le JPG ou GIF.

Il est déjà arrivé à mes utilisateurs qu'Access quitte
sans rien dire lorsqu'une image se charge. Et en
changeant ces images au format BMP, plus aucun problème.
Le soucis est que en BMP elle sont trop conséquentes alors
qu'en JPG la taille est réellement réduite, surtout
qu'elles sont chargées sur un réseau assez lent. Tu
comprendras mon ennuis...

Il existe peut-être un ActiveX gratuit quelque part qui
permet bêtement de charger une image JPG... J'ai pas
trouvé.

Une solution docteur ? ;-)

Merci tout de même.

Guy