Banque d’images : charger une image unique

Voici un nouvel article qui complète la saga « Gérer une banque d’images sous Access » (cliquez ici pour les épisodes précédents !). Un lecteur a souhaité savoir comment intégrer une seule image à la fois dans la banque d’images, plutôt que toutes les images d’un dossier. Voici une façon de faire…

Mise en place du bouton

Par rapport aux articles précédents, j’ai simplement rajouté le bouton « Charger une image unique« , dans l’en-tête du formulaire.

  1. Ce bouton est construit sans l’Assistant. En d’autres termes : avant d’utiliser l’icône Bouton du ruban d’Access 2007 (ou de la boîte à outils d’Access 2003), cliquez sur l’icône « Utiliser les Assistants de contrôle » (la baguette magique) pour la désactiver.
  2. Faites ensuite apparaître les propriétés du bouton, et nommez-le btnImageUnique (propriété Nom).
  3. Sous l’onglet Evénement de la feuille de propriétés, réglez l’événement Sur clic sur Propriété événementielle.
  4. Cliquez sur les points de suspension à droite de l’événement pour passer dans le code VBA, et recopiez ce qui suit.

Le code du bouton

Quelques compléments

  • Le code du bouton repose principalement sur l’objet FileDialog, qui est détaillé sur cette autre page du blog. Il faut donc ajouter, dans votre base de données, une référence à la bibliothèque Microsoft Office Object Library. Si vous complétez la base de données des autres articles, vous avez déjà cette référence.
  • Pour manipuler les noms de fichiers, j’utilise aussi un certain nombre de fonctions qui sont décrites sur cette page (sans quoi, les fonctions FilenameWithoutExt, Filename et FilePath ne marcheront pas).

 

Vous aimerez aussi...

2 réponses

  1. Hervé Inisan dit :

    Angel > En fait, les 2 problèmes sont liés… à cause de moi… 🙂

    1. Dans le code VBA, il faut effectivement remplacer Me.txtRepBase par Me.Dossier. Ça alimentera correctement le champ Dossier de la table.
    2. Le champ txtRepBase est utilisé comme dossier de base, mais dans d’autres articles.
  2. Angel dit :

    Bonsoir,

    J’ai 2 questions
    1_ Lorsque je charge une image unique, la cellule « dossier » de la tblImages n’est pas renseignée et empêche l’affichage de l’image.
    Je n’ai pas de message d’erreur

    2_ Dans le « frmImages » la zone  » txtRepBase  » affiche : = »C:UsersPublicPicturesSample Pictures »
    Quel est fonction de cette zone texte que je vois reprise dans les Module

    Merci

    Cordialement

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *