OVH Cloud OVH Cloud

Photos dans un formulaire

13 réponses
Avatar
Willi2004
Bonjour à tous!
J'utilise Access 2003 et je suis confronté au problème suivant:
J'ai une table avec un champs texte PHOTO contenant les chemins d'accès à
différentes photos sur mon disque dur.
Je voudrais créer un état basé sur cette table avec un contrôle image qui
affiche la photo correspondante si le chemin existe et qui reste invisible
dans le cas contraire.
Pourriez-vous m'aider s'il vous plaît ?

10 réponses

1 2
Avatar
3stone
Salut,

"Willi2004"
| J'utilise Access 2003 et je suis confronté au problème suivant:
| J'ai une table avec un champs texte PHOTO contenant les chemins d'accès à
| différentes photos sur mon disque dur.
| Je voudrais créer un état basé sur cette table avec un contrôle image qui
| affiche la photo correspondante si le chemin existe et qui reste invisible
| dans le cas contraire.


De la même facon que pour une formulaire...

Dans la section détail de l'état, événement "au formatage" :

if Dir(Me.Photo)<>"" then
ctrlPhoto.Picture = Me.Photo
'eventuelement ajouter
ctrlPhoto.Visible = True
else
ctrlPhoto.picture = ""
'eventuellement ajouter
ctrlPhoto.Visible = False
end if


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Willi2004
Merci infiniment 3stone!!
Je viens juste de me connecter. Je vais essayer ce que tu me proposes et
ensuite je te rendrai compte.
Merci encore d'avoir répondu.
Avatar
Willi2004
Je viens d'essayer ce code mais il y a un problème:
Une erreur d'exécution se produit et affiche le texte suivant:
"Incompatibilité de type".
C'est la première ligne du code c'est-à-dire If Dir(Me.PHOTO)<>"" Then qui
est surlignée en jaune.
Je voudrais préciser que mon champs PHOTO est un champs texte contenant les
chemins des différentes photos.
Avatar
ze_titi
Bonjour,

dans ce cas:
If trim(Me.PHOTO)<>"" Then

--
Cordialement,

ze_titi

Mail perso: http://www.cerbermail.com/?sj4KuQC4GQ




Je viens d'essayer ce code mais il y a un problème:
Une erreur d'exécution se produit et affiche le texte suivant:
"Incompatibilité de type".
C'est la première ligne du code c'est-à-dire If Dir(Me.PHOTO)<>"" Then qui
est surlignée en jaune.
Je voudrais préciser que mon champs PHOTO est un champs texte contenant les
chemins des différentes photos.


Avatar
3stone
Salut,

"Willi2004"
| Je viens d'essayer ce code mais il y a un problème:
| Une erreur d'exécution se produit et affiche le texte suivant:
| "Incompatibilité de type".
| C'est la première ligne du code c'est-à-dire If Dir(Me.PHOTO)<>"" Then qui
| est surlignée en jaune.
| Je voudrais préciser que mon champs PHOTO est un champs texte contenant les
| chemins des différentes photos.


Me.Photo contient bien le chemin complet, y compris l'extension
pour atteindre l'image ?


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Willi2004
Avec "If trim" à la place de "If Dir" , tout se passe très bien !!
Grand merci à ze_titi et à 3stone.
Cordialement.
Avatar
3stone
re,

"Willi2004"
| Avec "If trim" à la place de "If Dir" , tout se passe très bien !!


Tu devrait dans ce cas écrire :

If Dir(trim(Me.PHOTO))<>"" Then



sinon tu ne vérifie pas que l'image existe réellement dans le répertoire !

if trim(Me.Photo)<>""

ne vérifie que l'existance du chemin, mais pas de la photo.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Willi2004
Lorsque j'écris If Dir(trim(Me.PHOTO))<>"" Then , la même erreur d'exécution
se produit, avec le même message: Incompatibilité de type !
Avatar
3stone
re,

"Willi2004"
| Lorsque j'écris If Dir(trim(Me.PHOTO))<>"" Then , la même erreur d'exécution
| se produit, avec le même message: Incompatibilité de type !


PHOTO est bien un champ texte qui est source d'un Textbox dans ton formulaire?


Essaies en écrivant ainsi :

Me!PHOTO

avec les points d'exclamation...


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Willi2004
Oui, PHOTO est un champs texte qui est bien source d'une zone de texte de mon
état.
En essayant avec des points d'exclamations, même erreur d'exécution!!
Par contre avec "If trim" tout court comme l'a suggéré ze_titi, tout marche
bien.
Peut-être voudrait-il intervénir à nouveau pour nous dire pourquoi une
erreur d'exécution "Incompatibilité de type" intervient lorsqu'on utilise "If
Dir" ?
1 2