|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 11 ![]() |
Bonjour,
Sur base des tutos pour l'intégration d'images dans un formulaire, j'ai créé une application qui applique les informations contenues dans ceux-ci. L'application fonctionne très bien et j'ai ainsi plusieurs centaines de photos gérées. Mais l'adresse de l'image reprend le path complet qui est utilsé lors de l'affichage de l'image. Code :
Me.Image = CurrentProject.path & "\affiches" & strFichier Ma question est donc la suivante : Y a-t-il moyen de gérer de façon dynamique l'adresse de l'image en préfixant via une variable le chemin lors de l'affichage de l'image à l'ouverture du formulaire? Merci d'avance pour vos conseils JP |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Diem VOVivre Inscription : avril 2006 Messages : 2 644 ![]() |
salut jprog46 et bienvenu,
tu peux mettre dans une variable mais je te conseille plutôt de créer une table de paramètres (Param, Valeur). ainsi tu auras un enregistrement 'PathImage' avec pour valeur le chemin. ensuite tu peux faire une requête avec jointure sur la table ou un dlookup() afin de récupérer la valeur pour la concaténer dans un champ calculé et obtenir le chemin complet qui alimentera le formulaire. une solution externe à access serait d'utiliser un nom de partage ou le lecteur affecté à celui-ci. ton chemin serait alors toujours le même: "Z:\fichier" sinon pour exploiter une variable il te faudra faire une fonction pour récupérer sa valeur. |
|
|
10
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 11 ![]() |
Merci Vodiem pour ta rapide réponse et je t'en remercie.
En fait j'avais écrit "utiliser une variable" , ce qui était un raccourci inadéquat. Effectivement j'utilise un paramètre enregistré dans une table et chargé via autoexec dans une variable Global. Je peux ainsi construire de façon dynamique l'adresse path (en paramètre)+ filename de l'image (stocké dans une table, sans le path). exemple : path = "c\test\" Table [Test], champ [Image], contenant TestImage.jpg Table [Test], champ [NomImage] -> un nom permettant d'identifier l'image Lorsque j'ouvre le formulaire d'affichage, filtré sur [NomImage], je constitue via Private Sub Form_Current(), le nom path + [Image] et je l'affecte à la source de l'image, le champ [Image]. Le problème est alors que le champ [Image] se modifie et ne contient plus TestImage.jpg mais bien c:\test\TestImage.jpg et ainsi de suite. J'ai pensé éventuellement travailler avec deux champs, [Image1] qui ne contiendrait que le nom de l'image et [Image] qui contiendrait le dernier chemin complet. Autre idée ? Merci d'avance |
|
|
00
|
|
|
#4 | |
|
Expert Confirmé
![]() Diem VOVivre Inscription : avril 2006 Messages : 2 644 ![]() |
Citation:
si tu as le chemin dans une table, tu peux, comme conseillé, alimenter ton formulaire avec une requête appropriée du style par ex : Code SQL :
SELECT *, Dlookup("valeurParam","tableParam","paramID='pathImage'") & [image] AS cheminImage FROM test tu n'auras plus d'autoexec ni de code. |
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 11 ![]() |
Re-bonjour Vodiem,
Je pense que je n'exprime pas bien le réel problème. Je reprend ton code : Code :
SELECT *, Dlookup("valeurParam","tableParam","paramID='pathImage'") & [image] AS cheminImage FROM test Ce qui veut dire que j'ai bien deux champs qui identifient l'image, comme je le suggérais dans ma précédente réponse. Javais imaginé pouvoir ne travailler qu'avec une seule identification. En bref, que le source control de l'image puisse ne pas contenir le chemin complet. Or, même si à la première ouverture le champ [Image] ne contient que le nom de l'image, ce champ est mis-à-jour avec le résultat du Dlookup, c.à.d chemin Image, dès affichage de l'image. Merci pour ton aide |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Diem VOVivre Inscription : avril 2006 Messages : 2 644 ![]() |
non, c'est pas comme ca que ca marche.
le code permet de rajouter le champ chemin de l'image à la table [test] ; il récupère avec dlookup le chemin dans la table des paramètres [tableParam] et il fait la concaténation avec le champ image de la table [test] contenant uniquement le nom du fichier. au final il y aura un champ supplémentaire <cheminImage> constitué du chemin et du nom de fichier qui alimentera le controle source de l'image. tout est géré automatiquement sans code dès lors que tu spécifies ce sql comme source du formulaire. |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 11 ![]() |
Merci.
C'est OK. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com