Comment faire pour afficher une image à partir d'un dossier dans un formulaire ou dans un rapport dans Access 2000

Traductions disponibles Traductions disponibles
Numéro d'article: 210100 - Voir les produits auxquels s'applique cet article
Ancien nº de publication de cet article : F210100
Pour vous procurer une version Microsoft Access 97 et versions antérieures de cet article, reportez-vous à l'article 148463.

Pour vous procurer une version Microsoft Access 2002 et Office Access 2003 de cet article, reportez-vous à l'article 285820.
Utilisateurs confirmés : exige de très bonnes compétences en programmation, en interopérabilité et dans le domaine multi-utilisateur.

Cet article s'applique à une base de données Microsoft Access (.mdb) et à un projet Microsoft Access (.adp).

Agrandir tout | Réduire tout

Sommaire

Résumé

Parfois, il n'est pas pratique d'enregistrer des images dans une table Microsoft Access. Si vous possédez de nombreuses images ou si tous vos fichiers image sont volumineux, la taille du fichier de base de données Microsoft Access peut augmenter rapidement.

Cet article explique la procédure à suivre pour afficher des images dans un formulaire ou dans un rapport en spécifiant uniquement le chemin d'accès et le nom de fichier. Le nom de fichier est enregistré dans une table. Le chemin d'accès au fichier peut également être enregistré dans la table ou il peut être un chemin d'accès relatif. Cela dépend de l'emplacement de la base de données.

Plus d'informations

Microsoft fournit des exemples de programmation à des fins d'illustration uniquement, sans garantie explicite ou implicite. Ceci inclut, de manière non limitative, les garanties implicites de qualité marchande ou d'adéquation à un usage particulier. Cet article suppose que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du Support technique Microsoft peuvent vous expliquer les fonctionnalités d'une procédure particulière, mais ils ne peuvent pas modifier les exemples en vue de vous fournir des fonctionnalités supplémentaires ou de créer des procédures répondant à vos besoins spécifiques. L'exemple suivant explique la procédure à suivre pour afficher des images bitmap Windows dans un formulaire ou dans un état Access sans enregistrer les images dans une table Access. Même si cet exemple utilise des images bitmap (.bmp), vous pouvez également utiliser d'autres types d'image tels que .jpg, .pcx et .gif.

Création de la table pour enregistrer les chemins d'accès de l'image

  1. Ouvrez l'exemple de fichier de la base de données Access, Comptoirs.mdb ou l'exemple de fichier du projet Access, NorthwindCS.adp.
  2. Créez la table suivante dans Comptoirs.mdb ou dans NorthwindCS.adp. Dans Comptoirs.mdb :
       Table : tblImage
       ----------------------------
       Nom du champ : ImageID
       Type de données : NuméroAuto
       Indexé : Oui (pas de doublons)
    
       Nom du champ : txtImageName
       Type de données : Texte
    
       Propriétés de la table : tblImage
       --------------------------
       CléPrimaire : ImageID
    					
    Dans NorthwindCS.adp :
       Table : tblImage
       -----------------------
       Nom de la colonne : ImageID
       Type de données : Int
       Autoriser les valeurs Null : Désactivé
       Identité : Activée
    
       Nom de la colonne : txtImageName
       Type de données : varchar
    
       Propriétés de la table : ImageTable
       -------------------------------
       Contrainte de la clé primaire : ImageID
    					
  3. Dans Comptoirs.mdb : Créez une image standard pour afficher lorsque l'image est introuvable dans la table ou si aucune image n'est présente pour un enregistrement.

    Pour cet exemple, utilisez une petite image appelée « NoPicture.BMP ». Vous pouvez utiliser un élément qui existe comme un logo de société. Vous pouvez également créer une nouvelle image à l'aide de Paint. Enregistrez le fichier à l'emplacement suivant :

    C:\Windows\NoPicture.bmp
  4. Dans Comptoirs.mdb : Ouvrez la table tblImage en mode Feuille de données, puis ajoutez le chemin d'accès et le nom d'un fichier bitmap à chaque enregistrement. Les exemples suivants affichent la façon dont les enregistrements peuvent s'afficher :
       C:\Windows\Circles.bmp
       C:\Windows\Waves.bmp
       C:\Windows\Tiles.bmp
       C:\Windows\Bubbles.bmp
    					

Affichage des images dans un formulaire

  1. Créez le nouveau formulaire suivant en fonction de la table tblImage :
       Écran : frmImage
       ----------------------
       Légende : Formulaire d'image
       Source : tblImage
    
       Contrôle d'image
       ---------------------------------
       Nom : ImageFrame
       Image : « C:\Windows\Circles.bmp »
    
       Zone de texte
       ----------------------
       Nom : txtImageID
       SourceContrôle : ImageID
    
       Zone de texte
       ---------------------------
       Nom : txtImageName
       SourceContrôle : txtImageName
    					
    REMARQUE : la propriété Picture du contrôle Image a été définie sur le nom de chemin d'accès de la première image. Le contrôle Image doit disposer d'une propriété Picture valide en mode Création. De plus, si vous ne souhaitez pas que le chemin d'accès s'affiche dans le formulaire, vous pouvez définir la propriété Visible du contrôle txtImageName sur False.

  2. : Dans le menu Affichage, cliquez sur Code, puis collez ou tapez le code suivant :
    Function setImagePath()
        Dim strImagePath As String
        On Error Goto PictureNotAvailable 
        strImagePath = Me.txtImageName
        Me.ImageFrame.Picture = strImagePath
    Exit Function
        PictureNotAvailable:
        strImagePath = "C:\Windows\NoPicture.BMP"
        Me.ImageFrame.Picture = strImagePath
    End Function
    					
  3. : Définissez les événements OnCurrent et AfterUpdate sur = setImagePath ().
  4. : Ouvrez le formulaire Imageform en mode Formulaire. Notez que le formulaire affiche l'image bitmap correspondante pour chaque enregistrement.

Affichage des images dans un rapport

  1. Créez un nouveau rapport en mode Création basé sur la table tblImage.
  2. Ajoutez les contrôles suivants à la section « Détails » du rapport :
       Contrôle d'image
       ---------------------------------
       Nom : ImageFrame
       Image : « C:\Windows\Circles.bmp »
    
       Zone de texte
       ----------------------
       Nom : txtImageID
       SourceContrôle : ImageID
    
       Zone de texte
       ---------------------------
       Nom : txtImageName
           SourceContrôle : txtImageName
    					
  3. Dans le menu Affichage, cliquez sur Code, puis collez ou tapez le code suivant :
    Function setImagePath()
        Dim strImagePath As String
        On Error Goto PictureNotAvailable
        strImagePath = Me.txtImageName
        Me.ImageFrame.Picture = strImagePath
        Exit Function
    
    PictureNotAvailable:
      strImagePath = "C:\Windows\NoPicture.BMP"
      Me.ImageFrame.Picture = strImagePath
    
      End Function
    					
  4. Définissez l'événement OnFormat de la section « Détails » du rapport sur = setImagePath (), puis enregistrez le rapport sous RptImage.
  5. Ouvrez le rapport RptImage en mode Aperçu avant impression. Notez que le rapport affiche l'image bitmap correspondante pour chaque enregistrement.

Enregistrement de l'image dans un chemin d'accès relatif

L'exemple précédent suppose que le chemin d'accès complet du fichier se trouve dans le champ txtImageName. Toutefois, vous souhaiterez peut-être que la table ne contienne que le nom de l'image tandis que le code détermine le chemin d'accès en fonction du dossier dans lequel se trouve la base de données actuelle. Dans ce cas, les images se trouvent toutes dans le même dossier que le fichier de base de données. Cette technique employant des chemins d'accès relatifs se révèle particulièrement utile avec les applications distribuées lorsque vous n'êtes pas certain de l'emplacement dans lequel l'utilisateur installera la base de données. Dans le code suivant, le chemin d'accès à la base de données actuelle est défini avec la propriété FullName. Le chemin d'accès est ensuite concaténé au nom de l'image.

Pour démontrer ce principe, apportez les modifications suivantes à l'exemple précédent :
  1. Supprimez les chemins d'accès de la table tblImage et laissez seulement les noms des fichiers bitmap.
  2. Placez les fichiers bitmap dans le même dossier que la base de données. Cela inclut l'image bitmap standard qui s'affiche lorsqu'il n'y a pas d'image pour un enregistrement particulier.
  3. Remplacez la fonction de l'exemple précédent par la fonction suivante.

    REMARQUE : CurrentProject.FullName qui renvoie au chemin d'accès complet du projet actuel fonctionne à la fois pour les bases de données Access et les projets Access.
    Function setImagePath()
       Dim strImagePath As String
       Dim strMDBPath As String
       Dim intSlashLoc As String
    
       On Error Goto PictureNotAvailable
       'Obtain the full path of the current database or Access Project
       strMDBPath = CurrentProject.FullName
    
       'Find the location of the last backslash
       intSlashLoc = InStrRev(strMDBPath, "\", Len(strMDBPath))
    
       'Trim off the database name, leaving the path
       'and append the name of the image file
       strImagePath = Left(strMDBPath, intSlashLoc) & _
       Me.txtImageName
    
       'Set ImageFrame to the path of the image file
       Me.ImageFrame.Picture = strImagePath
       Exit Function
    PictureNotAvailable:
      strImagePath = "NoPicture.BMP"
      Me.ImageFrame.Picture = strImagePath
    
    End Function
    					

Références

Pour plus d'informations sur la définition des propriétés d'événement, cliquez sur Aide sur Microsoft Access dans le menu ? (Aide), tapez Evénement dans le Compagnon Office ou dans l'Aide intuitive, puis cliquez sur Rechercher pour afficher la rubrique correspondante.

Pour plus d'informations sur la propriété OleTypeAllowed, cliquez sur Aide sur Microsoft Access dans le menu ? (Aide), tapez oletypeallowed dans le Compagnon Office ou dans l'Aide intuitive, puis cliquez sur Rechercher pour afficher la rubrique correspondante.

Pour plus d'informations sur la propriété SourceDoc, cliquez sur Aide sur Microsoft Access dans le menu ? (Aide), tapez sourcedoc dans le Compagnon Office ou dans l'Aide intuitive, puis cliquez sur Rechercher pour afficher la rubrique correspondante.

Propriétés

Numéro d'article: 210100 - Dernière mise à jour: jeudi 12 octobre 2006 - Version: 3.2
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Access 2000 Standard Edition
Mots-clés : 
kbdisplay kbgraphic kb32bitonly kb3rdpartynetclient kbdta kbhowto kbinterop kbofficeprog kbole kbprogramming kbvba KB210100
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com