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

VBA Access Discussion :

Faire une boucle de création d'image


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 17
    Points : 9
    Points
    9
    Par défaut Faire une boucle de création d'image
    Bonjour,

    Je rencontre actuellement un probleme avec un formulaire servant de trombinoscope. L'objectif est de recueillir les informations de la table PHOTO à savoir NomRepertoire (exemple c:\) et NomFichier (exemple test.jpg)

    Il se trouve que lorsque je réalise ma boucle avec les informations que me renvoie ma requête, mon controle d'image nommé imgPhoto ne conserve comme valeur que le dernier résultat de ma requête.
    J'ai donc bien compris qu'il était nécessaire de créer un nouveau controle image pour chaque itération a fin d'éviter que mon image ne change juste de nom, cependant j'ai beau chercher partout je ne trouve pas comment faire.

    Je vous met mon petit code pour que vous voyez un peu le probleme.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Dim cdb As DAO.Database, rs As DAO.Recordset
    Set cdb = CurrentDb
     
    Dim req As String
    req = "SELECT PHOTO.NOMREPERTOIRE, PHOTO.NOMFICHIER, PERSONNE.NOMPATRONYMIQUE, PERSONNE.PRENOM FROM PERSONNE, ETUDIANT, PHOTO WHERE ETUDIANT.NUMEROETUDIANT = PHOTO.NUMEROETUDIANT AND PERSONNE.NUMPERSONNE = ETUDIANT.NUMPERSONNE;"
     
    Set rs = cdb.OpenRecordset(req)
     
     
     
     
    While Not rs.EOF
     
    imgPhoto.Picture = rs("NomRepertoire") & rs("NomFichier")
     
    rs.MoveNext
    Wend
    Les champs nomPatronymique et prénom servent juste à apparaitre en dessous de la photo.

    Merci d'avance pour toute réponse.

  2. #2
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour,

    As-tu remarqué ce tuto?
    http://cafeine.developpez.com/access/tutoriel/photos/

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    Oui j'ai déja remarqué ce tutoriel, cependant ce tutoriel s'applique à une seule photo, ce qui ne me causerait aucun soucis. Mais je dois générer autant de photos qu'il y a de résultats dans ma requete.
    Or en récupérant en vba les valeurs de cette requete, je peux ainsi associer le nom du repertoire au nom du fichier pour avoir le nom de la photo que je dois recuperer. Je genere le bon nombre de photo, mais ces dernieres ont tous comme source que la derniere valeur de la requete.
    Il faudrait donc que je puisse "créer" autant de photo que d'étudiant pour que chacune ait bien la bonne source (la bonne image correspondant) et non juste l'image correspondant au dernier resultat.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Je ne sais pas trop quoi te répondre, mais vu ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    While Not rs.EOF
     
    imgPhoto.Picture = rs("NomRepertoire") & rs("NomFichier")
     
    rs.MoveNext
    Wend
    Je comprends, car tu parcours tout ton recordset et tu mets dans ton contrôle image, tu les écrases au fur et à mesure, c'est donc normal qu'il reste la derniére photo.

    Juste une idée (car je n'ai jamais travaillé sur les photos), te servir de ton recordset pour charger une table provisoire avec un champ OLE, et c'est cette table qui aliment ton formulaire à tester.

    Starec

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    Merci pour la réponse.
    Le probleme est que je ne souhaite pas devoir rentrer a la main chaque photo. Mon application sert a gérer les inscriptions d'étudiants. Il y aura donc plus d'une centaine de photo et je me vois mal devoir les faire entrer manuellement en tant qu' objet Ole. (si j'ai bien compris bien sur)

Discussions similaires

  1. Réponses: 4
    Dernier message: 29/01/2015, 17h00
  2. [XSLT] Faire une boucle sur une variable [i]
    Par PoT_de_NuTeLLa dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 07/06/2010, 12h45
  3. faire une boucle ds un formulaire
    Par gohu13 dans le forum Access
    Réponses: 1
    Dernier message: 21/09/2005, 12h54
  4. Réponses: 2
    Dernier message: 01/08/2005, 16h55
  5. Comment faire une boucle ???
    Par HookerSeven dans le forum Access
    Réponses: 6
    Dernier message: 17/06/2005, 12h58

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