Stocker des images dans une base de données

Vous pouvez afficher des images, telles que des dessins, des logos et des photographies, sur vos formulaires et vos états. Pour ce faire, vous devez d'abord stocker ces images. Access offre plusieurs méthodes pour stocker des images et cet article explique comment utiliser chaque méthode.

Pour obtenir une présentation des diverses façons d'utiliser des images avec une base de données Access, consultez l'article Habiller une base de données Access.


À propos du stockage d'images dans une base de données Access

Access offre plusieurs moyens de stocker des images. Vous pouvez procéder comme suit :

  • Incorporer directement des images dans un champ objet OLE d'une table de base de données.

AfficherQu'est-ce qu'un champ Objet OLE ?

La liaison et l'incorporation d'objets (OLE, Object Linking and Embedding) est la technologie utilisée pour partager des fichiers entre les divers programmes Office. Par exemple, lorsque vous insérez une feuille de calcul Excel dans un document Word ou une diapositive Microsoft PowerPoint dans un dessin Microsoft Visio, vous utilisez OLE. Vous utilisez un champ objet OLE lorsque vous devez stocker des images (ou créer des liens à ces images) et des fichiers d'autres programmes Office directement dans votre base de données.

Cette méthode est la plus simple à mettre en œuvre car vous utilisez les écrans et les outils fournis par Access. En outre, les images deviennent des éléments de votre base de données et se déplacent avec elle. Vous n'avez pas à mettre à jour les liens à vos fichiers image.

L'incorporation d'images peut toutefois rapidement augmenter la taille de votre base de données et entraîner un ralentissement de son fonctionnement. Cela est particulièrement vrai si vous stockez des fichiers GIF et JPEG, car OLE crée des fichiers bitmap supplémentaires contenant des informations d'affichage pour chacun de vos fichiers image. Or, la taille de ces fichiers supplémentaires peut être supérieure à celle de vos images d'origine. En outre, cette méthode ne prend en charge que les formats de fichier graphique .bmp et .dib. Si vous souhaitez afficher d'autres types de fichier image courants, tels que des images GIF et JPEG, vous devez installer des logiciels supplémentaires.

  • Stocker des images sur un disque dur ou un réseau et établir des liens à ces images à partir d'une table de base de données.

Cette méthode est semblable à la première, mais au lieu d'incorporer des images dans un champ objet OLE, vous établissez un lien à ces images. Il s'agit d'une méthode intermédiaire. Les liens ne prennent pas autant de place que des images incorporées et vous pouvez utiliser les écrans et les outils fournis par Access pour mettre en œuvre une solution.

En revanche, si vous déplacez votre base de données ou vos fichiers image, vous devez mettre vos liens à jour. Ces derniers sont également rompus si vos fichiers sont endommagés. Comme la première méthode, le nombre de types de fichier pris en charge est limité aux formats BMP et DIB. Des logiciels supplémentaires sont requis pour afficher d'autres types de fichiers.

  • Utiliser du code Visual Basic pour Applications (VBA) pour afficher les images.

Cette méthode implique de stocker des images sur un disque dur ou un réseau, en enregistrant les noms des fichiers et leurs chemins d'accès dans une table de base de données et en utilisant du code pour définir les propriétés du contrôle Image d'Access et pour afficher les images. Cette méthode implique de la programmation, mais elle exige peu d'espace et vous permet d'utiliser ou d'adapter le code existant. Cette méthode est recommandée si vous disposez d'un nombre important d'images.

N'oubliez pas, toutefois, que si vous déplacez votre base de données, vous devez également déplacer les images.

Les sections suivantes expliquent comment utiliser chaque méthode de stockage et fournissent des liens à des exemples de code.

Établir des liens à des images ou les incorporer dans une table de base de données

Le processus de création de liens à des images ou leur incorporation dans une table se décompose globalement comme suit :

  • Si vous ne l'avez pas encore fait, ajoutez un champ objet OLE à une table existante ou créez une nouvelle table et ajoutez un champ objet OLE.
  • Insérez vos fichiers image dans le champ. Au cours de ce processus, vous devez choisir de créer un lien à l'image ou de l'incorporer.

Les sections suivantes expliquent comment effectuer ces tâches.

AfficherAjouter un champ objet OLE à une table existante

  1. Ouvrez la table en mode Création Image du bouton.
  2. Dans la première ligne vide de l'outil de création, sous Nom du champ, tapez Image.
  3. Cliquez sur le champ suivant (le champ dans la colonne Type de données) et sélectionnez Objet OLE dans la liste.
  4. Enregistrez la table.
  5. Fermez la table en mode Création et ouvrez-la en mode Feuille de données (double-cliquez sur la table pour l'ouvrir de nouveau), puis lisez « Ajouter des images au champ objet OLE (incorporées ou liées) », plus loin dans cette section.

AfficherCréer une table contenant un champ objet OLE

  1. Dans la barre Objets de la fenêtre Base de données, cliquez sur Tables, puis double-cliquez sur Créer une table en mode Création. L'outil de création de table s'affiche.
  2. Dans la première ligne de l'outil de création, sous Nom du champ, tapez .
  3. Cliquez sur le premier champ sous Type de données et sélectionnez NuméroAuto dans la liste.
  4. Cliquez n'importe où avec le bouton droit dans la première ligne, puis cliquez sur Clé primaire. Cela définit le champ N° comme la clé primaire de la table.
  5. Dans la ligne suivante, tapez Image dans la colonne Nom du champ et sélectionnez Objet OLE dans la liste de la colonne Type de données.
  6. Enregistrez la table. Vous pouvez accepter le nom de table proposé par Access ou utiliser un autre nom.
  7. Fermez la table en mode Création, puis ouvrez-la de nouveau en mode Feuille de données (double-cliquez dessus pour l'ouvrir de nouveau).
  8. Poursuivez en effectuant les actions décrites dans « Ajouter des images au champ objet OLE (incorporées ou liées) ».

AfficherAjouter des images au champ objet OLE (incorporées ou liées)

Les étapes de cette section utilisent les tables existantes ou nouvelles décrites dans les sections précédentes ainsi qu'un ensemble de fichiers image installés par Microsoft Office 2003. Vous pouvez également utiliser vos propres tables et fichiers image.

  1. Cliquez avec le bouton droit sur le premier champ dans la colonne Image de la table, puis cliquez sur Insérer un objet.
  2. Cliquez sur À partir d'un fichier, puis sur Parcourir.
  3. Recherchez une ou plusieurs images .bmp ou .dib. Vous trouverez un ensemble de fichiers BMP, intitulés Empid1.bmp à Empid9.bmp, dans lecteur:\Program Files\Microsoft Office\OFFICE11\SAMPLES. Sélectionnez la première image et cliquez sur OK.

Cela suppose que vous avez accepté l'emplacement d'installation par défaut pendant l'installation.

  1. Pour établir un lien à une image, cliquez sur Liaison, puis de nouveau sur OK pour terminer le processus. Pour incorporer l'image dans la table, laissez la case à cocher Liaison désactivée et cliquez sur OK. Les mots Image bitmap s'affichent dans le premier champ de la colonne Images de la table.

 Remarque   Si Package s'affiche dans le champ objet OLE, vous essayez de lier ou d'incorporer un fichier graphique non pris en charge, tel que GIF ou JPEG. Si vous devez afficher ces types de fichier, vous pouvez réinstaller Microsoft Photo Editor. Pour plus d'informations sur la réinstallation de Photo Editor, consultez What to do when you see "Package" instead of "Bitmap Image" in your database tables.

  1. Passez dans les autres champs de la colonne Image et répétez les étapes 2 à 5 jusqu'à ce que vous ayez ajouté les images souhaitées.

Utiliser du code VBA pour afficher des images

Si vous devez utiliser un grand nombre de fichiers image et que vous souhaitez afficher une autre image avec chaque enregistrement de base de données, le recours à la programmation VBA peut vous faire gagner du temps et de l'espace de stockage. Vous devez stocker vos images sur votre disque dur ou votre réseau, enregistrer les noms de fichier et les chemins d'accès à vos images dans un champ de type Texte de votre base de données, puis utiliser du code VBA pour lire les informations de chemin d'accès et définir la propriété Image du contrôle Image d'Access.

N'oubliez pas que ce processus crée un lien à vos fichiers image (il ne les lie pas). En outre, si vous déplacez votre base de données, vous devez également déplacer vos images. Pour voir un exemple de cette technique, lancez la base de données exemple Les Comptoirs et ouvrez le formulaire Employés en mode Création.

  1. Ouvrez la table à laquelle vous voulez ajouter le champ en mode CréationImage du bouton.
  2. Dans la première ligne vide de l'outil de création, sous Nom du champ, tapez Image.
  3. Cliquez sur le champ suivant (celui de la colonne Type de données) et sélectionnez Texte dans la liste.
  4. Enregistrez la table.

Les utilisateurs de votre base de données peuvent voir les chemins d'accès à vos fichiers image. À moins de faire confiance à tous les utilisateurs, supprimez vos informations personnelles, telles que votre nom ou le nom de votre ordinateur, des chemins d'accès aux fichiers. N'oubliez pas non plus que vous pouvez utiliser des chemins relatifs pour faire référence à des images.

Par exemple, si vous placez votre base de données sur un réseau, tel que \\NomServeur\NomPartage\, et que vous stockez vos images dans un dossier sur ce partage, tel que \\NomServeur\NomPartage\Images, vous n'avez pas besoin d'indiquer le chemin entier.

Par conséquent, au lieu d'utiliser \\NomServeur\NomPartage\Images\Image.gif, vous pouvez n'utiliser que la partie du chemin d'accès différente, relative à l'emplacement du fichier Access actuel, à savoir : Images\Image.gif.

 
 
S'applique à :
Access 2003