Gestion de photos par formulaireDate de publication : 22/10/2004 , Date de mise a jour : 22/10/2004 Gérer des fichiers de photos externes depuis Access par un formulaire. 1- Introduction 2- Rendu final et utilisation 3- Structure des données 4- Conception du formulaire a. Génération automatique b. Ajout des contrôles 5- Codage du formulaire a. Affichage des photos b. Ajout - Suppression des photos 6- Conclusion 1- Introduction
On constate sur le forum access un grand nombre de questions relatives à la gestion des images. Il est vrai que MS-Access sait gérer et stocker des fichiers images dans ses tables, mais il n'est pas spécialisé dans ces fonctions. On pourra ainsi lire très souvent qu'il faut adopter une méthode différente. Personnellement, je préconise de laisser les fichiers à l'extérieur de la base, en les stockant dans un sous-répertoire dédié. Ce tutoriel se propose de présenter un cas très simple de gestion des images externes à la base. 2- Rendu final et utilisation![]()
Voici le rendu final, du tutoriel, un formulaire qui recense les salariés d'une PME avec l'affichage d'une photo pour chacun d'eux. On trouvera sur le formulaire, deux boutons de commande pour attribuer / effacer une photo d'un salarié. ![]()
En cliquant sur le bouton "Ajouter / Modifier Photo" on pourra parcourir les disques pour pointer sur la photo de l'employé.
3- Structure des données
L'application réduite à son minimum se contentera d'une table : tblSalaries : Table des salariés
![]()
On a définit le champ Photo de la table tblSalaries en type Texte. Au lieu de stocker physiquement la photo dans la base/table, on va se contenter de stocker le chemin de son emplacement physique. Cette information sera stockée dans le champ Photo, sous forme de chaîne de caractères. ![]()
Voici les quelques données contenues dans la table tblSalaries.
4- Conception du formulairea. Génération automatique
La construction du formulaire sera facilitée par l'assistant formulaire instantané. Il suffira pour cela de sélectionner la table tblSalaries dans la fenêtre de base de données et de cliquer sur l'icône "Formulaire instantané" ou MENU > Insertion > Formulaire instantané. ![]()
Par la génération automatique, le formulaire est lié à la table tblSalaries b. Ajout des contrôles
Il nous reste à placer le contrôle image qui affichera les photos. Puis à créer deux boutons de commandes : un pour ajouter / modifier et l'autre pour effacer la photo. ![]() Le résultat final doit donner ceci : ![]() 5- Codage du formulairea. Affichage des photos
Nous allons coder en premier lieu l'affichage automatique de l'image.
Me.imgPhoto.Picture = Me.Photo : la propriété .Picture attribue le chemin physique de la photo au contrôle image, ce qui a pour effet son affichage immédiat. Le chemin physique a été stocké dans la base via le champ Photo qui est dans le contrôle Photo. DisplayPhoto est la sub d'affichage des photos dans le contrôle Image appelé : imgPhoto. Cette procédure ajuste l'affichage de la photo au cas où ses dimensions dépasseraient celles du contrôle photo. Me.imgPhoto.ImageHeight : donne la hauteur de la Photo (Fichier .jpg par exemple) Me.imgPhoto.Height : donne la hauteur du contrôle d'affichage.
b. Ajout - Suppression des photos
Nous créons les deux sub d'événement Clic de nos boutons de commande nommés : . cmdDelete : bouton d'effacement de la photo . cmdPhoto : bouton d'ajout / modification de la photo
strLink = OuvrirUnFichier(... Attribue à la chaîne strLink le chemin renvoyé par la boite de dialogue de pointage de fichier. On ne reviendra pas sur le codage de la fonction OuvrirUnFichier() qui est disponible dans la FAQ : ici 6- Conclusion
J'espère que ce court tutoriel vous aura permis de vous familiariser avec la gestion des images externes dans MS Access. Vous pourrez trouver la base exemple et les photos qui l'accompagnent dans le fichier .zip suivant : Base exemple du tutoriel [99 ko] |
Copyright © oct 2004 Charles A. [cafeine]. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.