[Access] : afficher une image selon critère
Résolu
mat67000
Messages postés
400
Date d'inscription
Statut
Membre
Dernière intervention
-
mat67000 Messages postés 400 Date d'inscription Statut Membre Dernière intervention -
mat67000 Messages postés 400 Date d'inscription Statut Membre Dernière intervention -
Bonjour :-)
Bon je commence à etre habitué quotidiennement au forum :p... soit je me démerde mal, soit je sais pas chercher lol
Mon souci, qui en soit est simple. Avant de commencer, sachez que je penche pour un simple problème de syntaxe...
J'ai un formulaire qui m'affiche des infos (N° de switch, modèle, S/N etc.....)
dessous j'ai un cadre d'image dans lequel je veux afficher le chainage de switchs. Ces images sont des .jpg et contenu dans un dossier Images à la racine de C:\.
Ce que je veux faire, c'est qu'en fonction du N° de switch afficher dans mon formulaire, qu'access me cherche le fichier image correspondant sachant que mes nom de switch et mes noms d'images sont les memes (sauf l'extension lol).
voilà le code que j'ai appliqué sur la zone image :
Rien qu'en le réécrivant je vois que le code est mauvais mais je cherche depuis ce matin à droite et à gauche et je ne trouve pas la bonne syntaxe..... après tout c'est peut etre la facon dont je m'y prend qui est fausse... lol
Bon je commence à etre habitué quotidiennement au forum :p... soit je me démerde mal, soit je sais pas chercher lol
Mon souci, qui en soit est simple. Avant de commencer, sachez que je penche pour un simple problème de syntaxe...
J'ai un formulaire qui m'affiche des infos (N° de switch, modèle, S/N etc.....)
dessous j'ai un cadre d'image dans lequel je veux afficher le chainage de switchs. Ces images sont des .jpg et contenu dans un dossier Images à la racine de C:\.
Ce que je veux faire, c'est qu'en fonction du N° de switch afficher dans mon formulaire, qu'access me cherche le fichier image correspondant sachant que mes nom de switch et mes noms d'images sont les memes (sauf l'extension lol).
voilà le code que j'ai appliqué sur la zone image :
Pivate Sub Image34_Click() Dim image Me.image34.Picture = "%systemroot% & [Switch d'Etage] & .jpg" image34.Picture = image
Rien qu'en le réécrivant je vois que le code est mauvais mais je cherche depuis ce matin à droite et à gauche et je ne trouve pas la bonne syntaxe..... après tout c'est peut etre la facon dont je m'y prend qui est fausse... lol
A voir également:
- [Access] : afficher une image selon critère
- Acer quick access - Forum Logiciels
- Access appdata - Guide
- Exemple base de données access à télécharger gratuit - Forum Access
- Exemple base de données Access de gestion ✓ - Forum Logiciels
- Quick acces ✓ - Forum Windows
13 réponses
Salut,
je ferais plutôt un truc comme ça :
je ferais plutôt un truc comme ça :
Private Sub Image34_Click() zone_image.Picture = "%systemroot%" & "\Switch d'Etage\" & .jpg"Mais je ne suis pas sûr qu'ACCESS connaisse %systemroot%
merci blux pour ta réponse, tu es toujours là pour me sauver lol
mais je me pose une question sur ton code :
tu met "\Switch d'Etage\" mais ceci n'est pas un repertoire, c'est un champ d'une de mes tables....
mais je vais tester
merci :-)
mais je me pose une question sur ton code :
tu met "\Switch d'Etage\" mais ceci n'est pas un repertoire, c'est un champ d'une de mes tables....
mais je vais tester
merci :-)
Oui en gros pour etre tout à fait clair :
J'ai mon switch AAAAA01 dans mon champ Switch d'Etage de mon formulaire et le chemin correspondant est C:\Images\AAAAA01.jpg par exemple.
Je veux faire ca pour eviter d'intégrer des objets OLE dans ma base car avec les objets OLE, ma base passe de 400ko à 150Mo mdrrrr, et c'est pas top je trouve
J'ai mon switch AAAAA01 dans mon champ Switch d'Etage de mon formulaire et le chemin correspondant est C:\Images\AAAAA01.jpg par exemple.
Je veux faire ca pour eviter d'intégrer des objets OLE dans ma base car avec les objets OLE, ma base passe de 400ko à 150Mo mdrrrr, et c'est pas top je trouve
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Non lol c'est pas réglé...
En fait je bloque toujours au meme endroit c'est-à-dire la facon de faire pour qu'il m'affiche l'image correspondant au switch concerné... Avec des onjets OLE, y'a aucun souci mais avec de simples images qui doivent etre affichées en fonction du switch choisi, je bloque.
Je pense que ça doit simplement etre un souci au niveau de la syntaxe du code VBA mais j'ai fait pas mal d'essais et je ne trouve pas le bon code.
Je te met ci dessous un certain nombre de possibilités de code que j'ai testé...
En fait je bloque toujours au meme endroit c'est-à-dire la facon de faire pour qu'il m'affiche l'image correspondant au switch concerné... Avec des onjets OLE, y'a aucun souci mais avec de simples images qui doivent etre affichées en fonction du switch choisi, je bloque.
Je pense que ça doit simplement etre un souci au niveau de la syntaxe du code VBA mais j'ai fait pas mal d'essais et je ne trouve pas le bon code.
Je te met ci dessous un certain nombre de possibilités de code que j'ai testé...
Private Sub Image34_Click() 'Image34.Picture = "C:\Images\ & [Switch d'Etage].Value & .jpg" 'Image34.Picture = "C:\Images\ & [Switch d'Etage] & .jpg" 'Image34.Picture = "C:\Images\" & [Switch d'Etage] & ".jpg" 'Image34.Picture = "C:\Images\" & "'[Switch d'Etage]'" & ".jpg" 'Image34.Picture = "C:\Images\ & '[Switch d'Etage]' & .jpg" 'Image34.Picture = "C:\Images\ & [Switch d'Etage] & ".jpg" 'Image34.Picture = "C:\Images\ & [Switch d'Etage.value] & .jpg" 'Image34.Picture = "C:\Images\" & [Switch d'Etage.value] & ".jpg" 'Image34.Picture = "C:\Images\" & "'Switch d'Etage.value'" & ".jpg" 'Image34.Picture = "C:\Images\" & [Switch d'Etage].Value & ".jpg" 'Image34.Picture = "C:\Images\ & [Switch d'Etage].value & .jpg" 'Image34.Picture = "C:\Images\ & Switch d'Etage.Value & .jpg" End Sub
Pour moi, voici ce qu'il faut mettre :
A+ Blux
Image34.Picture = "C:\Images\" & [Switch d'Etage].Value & ".jpg"Maintenant, si ça ne correspond pas, essaye de faire afficher la valeur avant de modifier la propriété...
toto = "C:\Images\" & [Switch d'Etage].Value & ".jpg" msgbox toto--
A+ Blux
"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
Bonsoir blux et merci pour ta reponse
le code que tu me propose
quant à ta deuxieme suggestion, je testerai ca demain matin vu que je n'ai que mon portable et que Access2007 a la gentillesse de mettre le brodel dans ma base faite sous Access2000, donc d'ici là... bonne nuit !! :-)
le code que tu me propose
Image34.Picture = "C:\Images\" & [Switch d'Etage].Value & ".jpg", je l'ai déjà essyé et aucun affichage
quant à ta deuxieme suggestion, je testerai ca demain matin vu que je n'ai que mon portable et que Access2007 a la gentillesse de mettre le brodel dans ma base faite sous Access2000, donc d'ici là... bonne nuit !! :-)
La syntaxe est correcte, elle n'est peut-être pas placée au bon endroit...
L'affichage doit se faire quand tu appuies sur un bouton ou à l'ouverture du formulaire ? Parce qu'il est possible qu'à ce moment [Switch d'Etage].Value ne soit pas renseigné...
Ton code est sur quel évènement du formulaire...
Faudrait peut-être le mettre sur [Switch d'Etage] 'change' ?
L'affichage doit se faire quand tu appuies sur un bouton ou à l'ouverture du formulaire ? Parce qu'il est possible qu'à ce moment [Switch d'Etage].Value ne soit pas renseigné...
Ton code est sur quel évènement du formulaire...
Faudrait peut-être le mettre sur [Switch d'Etage] 'change' ?
Bon avec cette syntaxe la msgbox me ressort le bon chemin avec le nom de l'image qui doit apparaitre :
malheuresement aucun affichage du schéma malgré les propriétés de l'image qui sont bonnes.
je vois pas pourquoi, quelqu'un aurait-il une idée ??
toto="C:\Images\" & [Switch d'Etage] & ".jpg"
malheuresement aucun affichage du schéma malgré les propriétés de l'image qui sont bonnes.
je vois pas pourquoi, quelqu'un aurait-il une idée ??
L'affichage doit se faire à l'ouverture du formulaire car c'est simplement un formulaire qui donne des infos détaillée sur le switch concerné et à l'ouverture tous mes champs sont renseignés, et c'est ce que je veux.
Mon code est sur le formulaire F_DETAIL_SWITCH qui, comme dit est juste un formulaire qui donne des infos, je ne veux toucher à aucun champ dans ce formulaire sauf si, les infos sur le switch changent (si on change de switch ou d'IP par exemple)...
Mon code est sur le formulaire F_DETAIL_SWITCH qui, comme dit est juste un formulaire qui donne des infos, je ne veux toucher à aucun champ dans ce formulaire sauf si, les infos sur le switch changent (si on change de switch ou d'IP par exemple)...
Tiens je me pose une question : la syntaxe correcte ne serai-t-elle pas un truc du genre :
??
Load.("C:\Images\" & [Switch d'Etage] & ".jpg" as kelkechoz)
??
Non, load sert à charger des objets sans les afficher (utile pour travailler en asynchrone)...
Pour ma part, je pense qu'il faut que tu mettes ton code, non pas sur le load du form, mais sur le current du form (propriété 'sur activation')
Pour ma part, je pense qu'il faut que tu mettes ton code, non pas sur le load du form, mais sur le current du form (propriété 'sur activation')
Je suis pas totalement sûr d'avoir fait ce que tu pense mais avec le code ci-dessous, cela ne m'affiche rien non plus :
si je met une msgbox, ce qu'il me retourne est correct mais toujours pas d'affichage...
Private Sub Form_Current() Dim toto toto = ("C:\Images\" & [Switch d'Etage] & ".JPG") End Sub
si je met une msgbox, ce qu'il me retourne est correct mais toujours pas d'affichage...
Merci blux j'ai trouvé, voici la soluce :
donc encore une fois merci pour ton aide
Maintenant j'aurai encore une petite question rapide mais pas sur le meme sujet, dois-je créer un nouveau topic ou on peut faire une exeption ?? :p
Private Sub Form_Current() 'on veut afficher l'image en fonction du switch Dim image 'on lui indique le chemin avec le nom du champ à la place du nom de l'image (les noms etants pareils et le choix de l'image doit etre dynamique) image = ("C:\Images\" & [Switch d'Etage] & ".JPG") 'on précise qu'il faut afficher l'image dans le cadre prévu pour... Me.Image34.Picture = image End Sub
donc encore une fois merci pour ton aide
Maintenant j'aurai encore une petite question rapide mais pas sur le meme sujet, dois-je créer un nouveau topic ou on peut faire une exeption ?? :p