IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Affichage photo dans un formulaire - lien relatif


Sujet :

IHM

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Décembre 2007
    Messages : 34
    Points : 17
    Points
    17
    Par défaut Affichage photo dans un formulaire - lien relatif
    Bonjour à tous,
    il y a quelques semaines, j'avais déjà posté un problème à propos des chemins relatifs de photos dans les états. Grâce à Domi2, j'avais résolu mon souci, mes photos se modifiaient bien en fonction du chemin d'accés que j'avais simplement saisi dans une table.
    Ce matin, j'ai voulu faire la même chose dans un formulaire : mes photos sont stockées dans un dossier qui est dans le même répertoire que ma base de données ce qui m'évite de les importer dans ma base et donc l'allège énormément.
    J'ai créer un premier formulaire où tout s'est bien passé. Au lieu d'intégrer le code dans la section détail, comme pour l'état, je l'ai mis dans le formulaire sur "on current". Je vous montre le code qui a bien fonctionné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Form_Current()
    Me!ImageFrame.Picture = CurrentProject.Path & "\PhotoREC\" & Me.FEMRECPICT.Value
       'MsgBox CurrentProject.Path & "\PhotoREC\" & Me.FEMRECPICT.Value
    End Sub
    Mes photos sont dans un dossier nommé "PhotoREC" et le nom de la photo est stocké dans le champ "FEMRECPICT" de ma table.
    Le control image que j'ai inséré dans mon formulaire s'appelle ImageFrame.

    Maintenant, j'ai voulu faire exactement la même manip pour une autre série de photos, qui sont dans le dossier "PhotoPanMAL", et le champ de mon autre table s'appelle "MALPANPICT". j'ai donc créée un formulaire depuis cette table, j'ai ajouté un control image que j'ai nommé ImageFrame2. j'ai aussi ajouté une message box comme m'avait conseillé Domi2 pour voir quel chemin d'accés me renvoyait mon code.
    Voici ce que ça donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Form_Current()
    Me!ImageFrame2.Picture = CurrentProject.Path & "\PhotoPanMAL\" & Me.MALPANPICT.Value
    '   MsgBox CurrentProject.Path & "\PhotoPanMAL\" & Me.MALPANPICT.Value
    End Sub
    Je ne comprends pas ce qui se passe, en effet, lorsque j'active la message box, à chaque fois que je change d'enregistrement, elle m'affiche le bon chemin avec le nom correspondant, cependant lorsque je veux regarder les photos, je reste tout le temps sur le même photo. Rien ne change, pourtant, je change bien d'enregistrement, et j'ai à l'affichage aussi le nom de la photo (stocké dans ma table), et il change bien en fonction de l'enregistrement sur lequel je suis.
    Il me semblait avoir fait la même manip que pour le premier formulaire ... mais j'ai du faire une petite boulette que je n'arrive pas à détecter ...

    Merci d'avance pour votre aide !!

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    La syntaxe est bonne.
    Une explication : le type de l'image que tu veux assigner n'est peut-être pas admis par Access.
    Si lorsque tu fais défiler ton formulaire, le chemin donne une image lisible
    alors "Me!ImageFrame2.Picture" est modifié.
    Par contre, si le fichier n'est pas lisible en tant qu'image
    alors "Me!ImageFrame2.Picture" n'est modifié, l'image qui apparaît est celle du dernier enregistrement valide .... et Access ne signale pas d'erreur !

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Décembre 2007
    Messages : 34
    Points : 17
    Points
    17
    Par défaut
    Merci ClaudeLELOUP pour ta réponse,
    pourtant, mes images sont en jpg et le premier formulaire que j'ai fait et qui fonctionne a le même format d'image.
    J'ai essayé de retravailler mon formulaire, de créer à nouveau le control image et de réécrire le code, mais rien n'y fait ...
    je n'ai plus vraiment d'idée.
    Merci pour votre aide.

    SG

  4. #4
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    Un petit essai à faire peut-être.

    Sur le formulaire qui fonctionne, tu mets le code qui va bien en remarque, puis tu colles celui du formulaire qui pose problème.

    Et tu essaies ce que cela donne...

    Domi2

  5. #5
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Décembre 2007
    Messages : 34
    Points : 17
    Points
    17
    Par défaut
    Salut Domi2,
    effectivement, ça peut être une bonne idée mais le problème c'est que les deux formulaires ne sont pas fait à partir de la même table donc si je colle le code du premier dans le deuxième, il ne va pas retrouver "ses petits". Le champ pour lequel j'affiche la photo n'a pas les mêmes valeurs dans les deux formulaires donc je pense qu'il ne pourra rien afficher.
    Je vais voir ce que je peux faire pour remédier à ça.
    Merci pour ton aide ...

    SG

  6. #6
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Re,

    Une autre piste... Est-ce que tout tes champs de la table sont renseignés ?

    Tu devrais peut-être prendre connaissance du tutoriel de Caféine, notamment tout ce qui concerne la gestion des erreurs et l'affichage d'une photo par défaut.

    Domi2

  7. #7
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Décembre 2007
    Messages : 34
    Points : 17
    Points
    17
    Par défaut
    tous mes champs sont effectivement renseignés. A chaque fois que je n'ai pas la photo correspondante, j'ai contourné le problème en créant une photo "pas de photo disponible", et je l'ai renseigné dans ma table à chaque fois que je n'ai pas de photo dispo.

    J'ai déjà lu et relu le tuto de caféine, ça va devenir une bible pour moi .
    C'est vraiment bien fait et assez simple à comprendre même pour moi, une vrai débutante en écriture de code !!
    A chaque fois que je le relis, je comprends un peu mieux. Tu as raison, il faut peut être que j'essaie d'intégrer le code de gestion des erreurs pour voir que j'obtiendrai comme message. mais ça ma parait quand même tellement compliqué à mettre en place que je n'ose pas m'y lancer ...

    Merci encore.

    SG

  8. #8
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Décembre 2007
    Messages : 34
    Points : 17
    Points
    17
    Par défaut
    je viens d'ajouter la ligne de code qui ne marche pas dans le formulaire qui "marche", j'ai un ou deux enregistrement qui correspondent entre les deux tables, et rien ne change. Les photos restent figées. Dans l'état que j'ai réussi à faire grâce à toi et dans le formulaire qui fonctionne, je vois apparaître (même si s'est très brièvement) une fenêtre qui me montre qu'access charge la photo dont il vient de lire le chemin d'accès. Par contre, là, plus rien. Avec ce nouveau dossier photo, rien ne semble se passer. Pourtant c'est exactement le même type de photos. Il n'y a que le noms du dossier qui change.

Discussions similaires

  1. [AC-2000] Affichage photo dans un formulaire continu
    Par myklou dans le forum IHM
    Réponses: 3
    Dernier message: 26/08/2011, 04h54
  2. [A-03] Affichage photos dans un formulaire
    Par jcp66 dans le forum IHM
    Réponses: 6
    Dernier message: 20/12/2008, 20h03
  3. Problème d'affichage de photo dans un formulaire
    Par MarieHelene dans le forum IHM
    Réponses: 4
    Dernier message: 06/03/2008, 17h40
  4. insertion photo dans un formulaire
    Par puppusse79 dans le forum IHM
    Réponses: 3
    Dernier message: 08/10/2006, 13h23
  5. Affichage automatique dans un formulaire
    Par Caroclic dans le forum Access
    Réponses: 1
    Dernier message: 19/09/2005, 16h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo