[ACCESS] créer un chemin relatif à une image

Résolu/Fermé
durahsel Messages postés 66 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 2 mars 2010 - 3 déc. 2007 à 09:18
 vittirivizzik - 9 févr. 2012 à 09:40
Bonjour,

Je n'arrive pas à créer un chemin d'accès relatif à une image (dans ses propriétés).

Ex : mon fichier access se trouve dans le même répertoire que mes images ex : C:\access\
Le chemin d'accès à une image "image.jpg" est donc C:\access\image.jpg

Mais qd je vais déplacer mon dossier, l'image ne sera plus trouvée biensûr, car c'est un lien absolu !

J'ai essayé de créer un relatif en ne mettant que \image.jpg par exemple mais ça ne marche pas.

Que faire ???

Merci !

Durahsel
A voir également:

9 réponses

Private Sub Form_Load()
  Image0.Picture = Application.CurrentProject.Path & "\images\monimage.jpg"
End Sub
3
durahsel Messages postés 66 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 2 mars 2010 11
3 déc. 2007 à 17:38
ok je vais essayer ça merci !
0
Bonjour,

Mais qd je vais déplacer mon dossier, l'image ne sera plus trouvée biensûr
Mais si, elle sera retrouvée si la propriété Type image a été mise à Intégéré au lieu de Attaché. Une copie de l'image est gardée dans le formulaire.
0
durahsel Messages postés 66 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 2 mars 2010 11
3 déc. 2007 à 13:30
oui mais j'ai justement choisi choisi l'option "Attaché" car avec l'option "integré" le fichier enregistre les images jpeg au format bmp donc la taille fichiier explose et passe de 5 Mo à près de 200 Mo ! Donc non, ce n'est pas la solution qui correspond à mon pb, merci quand même !

Durahsel
0
durahsel Messages postés 66 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 2 mars 2010 11
3 déc. 2007 à 21:21
Bon je n'y arrive définitivement pas.

Je ne maîtrise pas assez le lien entre VBA et access alors merci de m'expliquer les choses simplement, je repose mon problème :

J'ai un état dans lequel j'insère deux images que je redimensionne et sur lesquelles je fait ma popotte...

Mon problème : comment les insérer en utilisant un chemin d'accès relatif ? On m'a proposé dans le message précédent d'utiliser la fonction "Currentproject.path" : Ok mais je m'en sers comment, comment je fais le lien entre ce "machin" et la propriété "image" de mon image où apparaît le chemin ABSOLU dans access?

Merci d'avance,


0
Bonsoir

Quand tu es dans ton état (pardon, je croyais que c'était un formulaire), fais un clic droit dans le petit carré en haut à gauche pour sélectionner l'état lui même (pas l'en-tête, ni le détail etc)
Tu choisis créer Code événement...
Tu entres alors dans le monde merveilleux de VBA.
Tu as une fenêtre avec un squelette de sous-programme Private sub Report_Open(Cancel as integer).
Si par hasard ce n'était pas le bon squelette de fonction, choisis dans la liste en haut à gauche l'objet Report et dans la liste en haut à droite l'événement Open (dans cet ordre)
(Form_Load c'était pour un formulaire)

Tu n'as plus qu'à coller dedans, pour chacune de tes images :
Image0.Picture = Application.CurrentProject.Path & "\images\monimage.jpg"

sans te soucier de ce que tu avais mis dans la propiété image, puisque cette fonction remplace précisément cette valeur

Précision : comme son nom le laisse supposer, cette fonction est appelée automatiquement chaque fois que l'état est ouvert
0
durahsel Messages postés 66 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 2 mars 2010 11
5 déc. 2007 à 12:44
Je dois vraiment pas être bon :

Suite à ça :

Private Sub Report_Open(Cancel As Integer)
Image0.Picture = Application.CurrentProject.Path & "\BSDD_annexes1.jpg" // Mon image est dans le même dossier que ma BDEnd Sub

J'obtiens ça :
"Erreur d'exécution 424: Objet requis"

"Image0" = le nom de l'image ? Je dois le rentrer dans les pptés de mon image ?

Merci

Durahsel
0
le père > durahsel Messages postés 66 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 2 mars 2010
5 déc. 2007 à 13:33
Non image0, c'est le nom du contrôle image, que tu vois dans la liste déroulante tout en haut (au dessus des onglets) dans la fenêtre propriétes.
Mais regarde un peu plus bas dans ce fil, il y a une solution plus simple à 8h25
0
durahsel Messages postés 66 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 2 mars 2010 11 > le père
5 déc. 2007 à 13:46
Bon ok j'ai pigé pour la fonction path: j'ai remplacé image0 par le nom de mes images (imageXX ...) et ça marche MAIS :

Je n'arrive pas à supprimer le chemin complet dans les propriétés et juste mettre le nom de l'image (comme tu l'as décrit dans ton post) ce qui fait que mon image se charge en mode aperçu et en mode création par moyen de la voir !


En plus j'ai un message d'erreur par image quand j'ouvre mon état en mode création ou pas !


GRRR ! j'y suis presque mais pas tout à fait
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 243
4 déc. 2007 à 23:52
Bonsoir,

Ou ".\images\monimage.jpg" sans faire référence à application...path, ça ne marche pas avec access ?
(.\ pour le même répertoire et ..\ pour le répertoire père)

eric
0
Bonjour,

".\images\monimage.jpg" sans faire référence à application...path, ça ne marche pas avec access ?
Non, durahsel a essayé, moi aussi.

Mais il y a quand même une solution simple.
En fait dans access, les chemins sont relatifs à un chemin indiqué dans les options. Quand on recopie la base ce chemin est recopié tel quel.
Par défaut, c'est un chemin absolu vers mes documents. Il suffit de l'effacer complètement pour pour pouvoir utiliser ensuite des acces relatifs pour les images.
Tu peux maintenant mettre comme image "image.jpg" en relatif.
0
durahsel Messages postés 66 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 2 mars 2010 11
5 déc. 2007 à 13:54
C'est bon j'ai résolu le pb par de la bidouille :

En mode création je mets un chemin absolu pour pouvoir voir le fichier et travailler dessus.

Pour le mode aperçu, je passe par la fonction path et ensuite je supprime le chemin d'accès absolu donc l'image virtuellement et ça marche.

Ok et merci pour tout Le père
0
Bonjour,

Réponse un peu tard, mais si ça peut aider quelqu'un d'autre...

MsgBox(Application.ThisWorkbook.Path)

a+
0
Bonjour,

Je travaille sur une appli access où j'ai créé un bouton qui va éxécuter un batch qui se trouve dans un autre dossier. Quand je met le chemin d'accès de mon .bat dans mon code ça marche nikel ! mais je voudrais mettre un chemin relatif.

Ma base access : C:/dossier/Bdd.accdb
chemin d'accès du .bat : C:/dossier/dossier_x/dossier_y/mon.bat

Voila j'espère que c'est assez clair.
Merci pour votre aide
Cordialement
0