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 :

insérer photo dans etat [AC-2000]


Sujet :

IHM

  1. #1
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 69
    Points : 48
    Points
    48
    Par défaut insérer photo dans etat
    bonjour,
    je viens vers vous car j'ai un petit problème, je travaille sous acces 2007 et les machines qui seront clientes de l'application que je met en place sont sous access2000 ou 2002.

    J'ai mis au point grâce au tutoriel de caféine (que je remercie grandement parce que j'étais bloqué dessus depuis pas mal de temps), un système permettant l'ajout d'une image dans un formulaire. J'ai dans l'une de mes tables, un champ "photo" dans laquelle est stockée le chemin de la photo. Dans le formulaire il s'affiche bien sur l'élément image que j'ai mis en place, dans l'état, sous 2007, je lui ai mis comme source, mon champ photo et j'ai l'image qui apparait. jusque la pas de problème, mais je fais un test sous access 2000, pour voir si tout ce que j'ai fait fonctionne aussi sous cette version la, pas de chance, sous access 2000, dans le formulaire ca fonctionne encore, mais plus dans l'état, on ne peut plus donner de champ source au élément image, il refuse même d'en rajouter dans l'état si je lui donne pas le chemin sur mon pc d'une image.

    Comme c'est des fiches qu'il faut imprimer pour y apposer une signature ca me pose quelque problème.

    Je cherche donc le moyen d'afficher l'image dont le chemin est stockée dans "photo", et qui est en relation avec le nom du stagiaire ou une meilleure solution qui serait fonctionnelles.
    J'ai essayé de rajouter dans l'état un objet OLE dépendant en lui désignant comme fichier source le champ photo, mais je me retrouve avec le message : "mémoire insuffisante pour exécuter cette opération". Enfin ca m'aurait étonné qu'il me l'affiche, je ne pense pas qu'un objet OLE comprendra qu'il doit utilisé l'objet ciblé dans le champ photo et non ce qu'il y a dans le champ.

    Merci d'avance

  2. #2
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    bjr,

    voir ici :
    http://www.developpez.net/forums/d65...er-image-etat/

    n'oubliez pas la fonction "recherche" du forum

  3. #3
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 69
    Points : 48
    Points
    48
    Par défaut
    merci de la réponse, j'avais déjà fait les recherches et j'étais déjà tombé sur le post que tu m'as montré, j'avais essayé et ca n'avait pas fonctionné, ici avec mes recherches complémentaires, et les quelques informations sur ce post j'ai trouvé le moyen de le mettre en place, seul bémol je me retrouve avec un pc assez peu performant il a du mal a charger, je vais faire des test avec différents format d'image, et tiendrait au courant de mon avancement.

    Edit: Le format pour lequel il est assez rapide, c'est le gif, c'est pas terrible comme apercu mais on dirait que je ne peux pas faire mieux niveau performance, si ils ont besoin que l'apercu arrive plus vite tout en gardant une bonne qualité d'image il faudra qu'il booste leur pc, ou que je trouve quelqu'un s'y connaissant mieux en image que moi ( ce sera pas dur je connais les différents format et un peu leur caractéristique mais sans plus, et encore pas de tous).

  4. #4
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    bjr,

    l'image est en fait convertie en EMF ou Bitmap (taille énorme en mémoire) puis intégrée complète dans le contrôle
    elle n'est redimensionnée qu'à l'affichage
    sur des grosses images ça peut être problématique pour un état (la mémoire est vide remplie)

    voir ici :
    http://www.developpez.net/forums/d30...e-image-etats/

    la fonction "ChargeImageReduite" fait un peu peur mais il suffit de la mettre dans un module et de l'appeler
    à voir si ça améliore l'affichage ...

    sinon si possible, réduire les dimensions des images externes

  5. #5
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 69
    Points : 48
    Points
    48
    Par défaut
    Merci de la réponse j'ai regardé le code, le problème vient que je n'appelle pas directement une image venant d'un dossier du pc mais un des champ de ma bdd nommé photo qui lui stock le chemin d'accès.

    Si je me trompe pas, c'est cette ligne que je dois modifier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set lImg = LoadPicture(pFichier)
    En gros ce serait la fonction loadpicture que je vais devoir modifier car si je ne m'abuse elle ne sert qu'à charger une photo venant du pc, mais je ne vois pas quel fonction irait chercher dans mon champ le chemin d'accès.

  6. #6
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    non pas besoin de modifier la fonction, il faut juste l'appeler

    Tu dois avoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.LeNomduContrôleImage.Picture = LeChampQuiContientLeChemin
    Tu remplaces par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ChargeImageReduite LeChampQuiContientLeChemin, Me.LeNomduContrôleImage

  7. #7
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 69
    Points : 48
    Points
    48
    Par défaut
    J'ai essayé mais il plante, j'ai fait un printscreen, ce sera plus clair :

    http://cjoint.com/?dkoiCSP5Es

    Photo est le nom du champ, et imgPhoto est le nom du contrôle image.

    Je ne comprend pas ce qu'il veut en me mettant cette erreur, il me dit qu'il n'attend pas un module mais plutôt une variable,ou une procédure, donc le problème serait il au niveau du chargement de la fonction?

    Edit: j'ai trouvé, c'était pas compliqué mais ca m'avait pas fait tilt, même nom au module qu'à la procédure, il savait plus quoi chercher.
    Maintenant il reconnait pas mon champ Photo, que je mette Me.Photo, [Photo], Photo, il en veut pas alors que si j'utilise cette ligne ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.imgPhoto.Picture = Me.Photo
    la il me le trouve mon champ Photo.

  8. #8
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    Citation Envoyé par Lyude Voir le message
    Maintenant il reconnait pas mon champ Photo, que je mette Me.Photo, [Photo], Photo, il en veut pas [...]
    il dit quoi?
    un message d'erreur?

    peut-être :

  9. #9
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 69
    Points : 48
    Points
    48
    Par défaut
    désolé je cherchais une solution en même temps, j'ai oublié de mettre ce message d'erreur : j'avais erreur d'exécution 2465, access n'arrive pas a trouver le champ Photo auquel il fait référence dans votre expression (c'est pas exactement ce qu'il faisait écrit mais bon c'est l'idée).

    En rajoutant le .value, ca fonctionne, il ne rale plus et m'affiche bien la photo.

    Merci beaucoup, ca a bien diminué le temps de chargement , ca prend encore un peu de temps mais plus deux minutes si je prend un gros jpeg comme fichier image source.

    Edit:
    Lorsqu'il y a une photo dans le champs il n'y a pas de problème, si par malheur, il n'y a rien, il refuse d'ouvrir l'état en mode aperçu avant impression, il me met ceci comme message d'erreur :
    "Erreur d'exécution 94 :utilisation incorrecte de NULL"

    J'ai contourné le problème en utilisant ce code ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    If IsNull(Me!Photo) Then
    Me.imgPhoto.Picture = CurrentProject.Path & "\images\blank.jpg"
    Else
    ChargeImageReduite Me.Photo.Value, Me.imgPhoto
    End If
    End Sub
    Au lieu de simplement ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ChargeImageReduite Me.Photo.Value, Me.imgPhoto
    Je ne sais pas si c'est la meilleure solution mais cela fonctionne, je poste juste pour aider d'autre qui aurait ce même problème.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Insérer photo dans formulaires Access 2003
    Par Paolina dans le forum IHM
    Réponses: 0
    Dernier message: 15/07/2009, 18h50
  2. Photo dans etat
    Par Lou17 dans le forum IHM
    Réponses: 1
    Dernier message: 29/11/2007, 23h16
  3. [MySQL] Insérer photo dans un tableau
    Par yanng dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 21/11/2007, 00h31
  4. [Etat]Affichage photos dans Etat
    Par ThieBEN dans le forum IHM
    Réponses: 6
    Dernier message: 08/04/2007, 13h02
  5. Photo dans Etat
    Par Coquelicot dans le forum IHM
    Réponses: 19
    Dernier message: 16/09/2005, 02h51

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