Professional Documents
Culture Documents
Dure : 30 minutes
Access 2007 par l'exemple : Intgration d'images dans les Formulaires Continus par Morgan BILLY
I - Introduction..............................................................................................................................................................3
II - Principe...................................................................................................................................................................3
II-A - Le Formulaire 1.............................................................................................................................................3
II-B - Le Formulaire 2.............................................................................................................................................3
III - Techniques utilises.............................................................................................................................................. 4
IV - Structure de la base de donnes.........................................................................................................................4
V - L'interface graphique............................................................................................................................................. 5
V-A - Le Formulaire N1........................................................................................................................................ 5
V-B - Le Formulaire N2........................................................................................................................................ 6
VI - Ajout d'un dossier................................................................................................................................................. 7
VII - Code VBA............................................................................................................................................................ 7
VII-A - Dclarations des Variables......................................................................................................................... 7
VII-B - Bote de dialogue Ouvrir............................................................................................................................ 8
VII-C - Gestion de l'erreur en cas d'image non valide.........................................................................................10
VII-D - Extraction du nom du Fichier................................................................................................................... 11
VII-E - Copie de l'image slectionne et ajout dans la table...............................................................................11
VII-F - Code Complet........................................................................................................................................... 11
VIII - Conclusion........................................................................................................................................................ 12
IX - Remerciements................................................................................................................................................... 12
-2Copyright 2012 Morgan BILLY. Aucune reproduction, mme 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' trois ans de prison et jusqu' 300 000
de dommages et intrts. Cette page est dpose la SACD.
http://dolphy35.developpez.com/article/access2007/formcontinus/
Access 2007 par l'exemple : Intgration d'images dans les Formulaires Continus par Morgan BILLY
I - Introduction
Cette fonctionnalit trs attendue depuis longtemps permet un rattachement d'un cadre image un champ d'une
table. Cette nouveaut va vous permettre entre autre d'afficher une image diffrente dans un cadre d'un formulaire
en mode continu.
Nous allons aussi aborder galement les objets FileDialog.
Ce tutoriel a t rdig principalement pour vous faire dcouvrir des nouvelles fonctionnalits de la version d'Access
2007.
II - Principe
Cette base de donnes servant d'exemple au sein de ce tutoriel a pour objectif de dcouvrir la nouvelle mouture
d'Access version 12.
Principe de fonctionnement :
II-A - Le Formulaire 1
Il s'agit d'un formulaire de saisie d'employs (Nom, prnom, salaire, poste et photo). Ce formulaire se prsente sous
forme de fiche.
II-B - Le Formulaire 2
Ce formulaire permet galement de saisir les employs (Nom, prnom, salaire, poste et photo). Toutefois et
contrairement au prcdent, il est en mode continu ce qui signifie qu'il affiche tous les enregistrements les uns en
dessous des autres.
-3Copyright 2012 Morgan BILLY. Aucune reproduction, mme 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' trois ans de prison et jusqu' 300 000
de dommages et intrts. Cette page est dpose la SACD.
http://dolphy35.developpez.com/article/access2007/formcontinus/
Access 2007 par l'exemple : Intgration d'images dans les Formulaires Continus par Morgan BILLY
Et oui, vous ne rvez pas, ce sont bien des images dans un formulaire continu!
Les photos ne sont pas attaches la base mais lies par le chemin d'accs qui lui, est stock dans un
champ de type texte dans la table source.
Le bouton Insrer Photo affiche la bote de dialogue Ouvrir du systme d'exploitation en utilisant un objet
FileDialog.
-4Copyright 2012 Morgan BILLY. Aucune reproduction, mme 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' trois ans de prison et jusqu' 300 000
de dommages et intrts. Cette page est dpose la SACD.
http://dolphy35.developpez.com/article/access2007/formcontinus/
Access 2007 par l'exemple : Intgration d'images dans les Formulaires Continus par Morgan BILLY
Crez une nouvelle table en mode cration et renseignez les noms de champs ainsi que leur type comme cela est
indiqu sur l'image ci-dessus.
V - L'interface graphique
V-A - Le Formulaire N1
Crez un nouveau formulaire :
Il vous suffit simplement d'ajouter les diffrents contrles depuis la liste des champs. La source du formulaire est la
table tblEmployes. Ne pas oublier le bouton Insrer photo.
Pour insrer le cadre destin contenir l'image, slectionnez bien le bouton image comme
indiquer sur la photo ci-dessous.
-5Copyright 2012 Morgan BILLY. Aucune reproduction, mme 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' trois ans de prison et jusqu' 300 000
de dommages et intrts. Cette page est dpose la SACD.
http://dolphy35.developpez.com/article/access2007/formcontinus/
Access 2007 par l'exemple : Intgration d'images dans les Formulaires Continus par Morgan BILLY
Onglet Format :
Onglet Donnes :
V-B - Le Formulaire N2
Crez alors le second formulaire :
-6Copyright 2012 Morgan BILLY. Aucune reproduction, mme 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' trois ans de prison et jusqu' 300 000
de dommages et intrts. Cette page est dpose la SACD.
http://dolphy35.developpez.com/article/access2007/formcontinus/
Access 2007 par l'exemple : Intgration d'images dans les Formulaires Continus par Morgan BILLY
Onglet Format :
Onglet Donnes :
-7Copyright 2012 Morgan BILLY. Aucune reproduction, mme 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' trois ans de prison et jusqu' 300 000
de dommages et intrts. Cette page est dpose la SACD.
http://dolphy35.developpez.com/article/access2007/formcontinus/
Access 2007 par l'exemple : Intgration d'images dans les Formulaires Continus par Morgan BILLY
Nous allons utiliser 2 variables dans ce code, strFichier qui stockera le nom de l'image slectionne et oFD objet
de type FileDialog qui est l'instance de la bote de dialogue ouvrir.
'Dclaration des variables
Dim strFichier As String
Dim oFD As FileDialog
-8Copyright 2012 Morgan BILLY. Aucune reproduction, mme 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' trois ans de prison et jusqu' 300 000
de dommages et intrts. Cette page est dpose la SACD.
http://dolphy35.developpez.com/article/access2007/formcontinus/
Access 2007 par l'exemple : Intgration d'images dans les Formulaires Continus par Morgan BILLY
- Ajout des filtres de la bote, il est possible de mettre plusieurs extensions dans un mme filtre en les sparant par " ; ".
With oFD
'Ajoute les filtres pour fichiers images et tous
With .Filters
.Clear
.Add "Fichiers images", "*.jpg;*.jpeg;*.bmp;*.gif", 1
.Add "Tous", "*.*", 2
End With
- Le Titre.
.Title = "Insrer une image"
- Rpertoire par dfaut lors de l'ouverture. Dans cet exemple nous allons ouvrir la bote dans Mes documents\Mes
images de l'utilisateur connect.
-> La variable d'environnement USERPROFILE retourne le chemin d'accs du rpertoire spcifique de l'utilisateur:
C:\Documents and Settings\Dolphy35
.InitialFileName = Environ("USERPROFILE") & "\Mes documents\Mes images"
- Pour interdire la slection multiple des fichiers, qui gnrerait automatiquement une erreur, il vous faut dfinir la
proprit .AllowMultiSelect False.
.AllowMultiSelect = False
-9Copyright 2012 Morgan BILLY. Aucune reproduction, mme 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' trois ans de prison et jusqu' 300 000
de dommages et intrts. Cette page est dpose la SACD.
http://dolphy35.developpez.com/article/access2007/formcontinus/
Access 2007 par l'exemple : Intgration d'images dans les Formulaires Continus par Morgan BILLY
Si le fichier charg dans le contrle n'est pas une image l'erreur 2220 est leve ce qui nous permet d'afficher un
message personnalis.
- 10 Copyright 2012 Morgan BILLY. Aucune reproduction, mme 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' trois ans de prison et jusqu' 300 000
de dommages et intrts. Cette page est dpose la SACD.
http://dolphy35.developpez.com/article/access2007/formcontinus/
Access 2007 par l'exemple : Intgration d'images dans les Formulaires Continus par Morgan BILLY
Affichage dans le contrle du fichier slectionn et renvoie une erreur si ce n'est pas une image.
Me.Image1.Picture = .SelectedItems(1)
Si l'erreur n'est pas leve nous effaons l'image que l'on vient de charger, ceci dans un but purement d'esthtique.
Me.Image1.Picture = ""
Rafraichissement du Formulaire.
Me.Refresh
Access 2007 par l'exemple : Intgration d'images dans les Formulaires Continus par Morgan BILLY
'Ouvre l'explorateur dans le fichier 'Mes documents' du User connect.
.InitialFileName = Environ("USERPROFILE") & "\Mes documents\Mes images"
'Interdit la multi slection
.AllowMultiSelect = False
'Permet de choisir le mode d'affichage dans l'explorateur (ici apperu)
.InitialView = msoFileDialogViewPreview
'Permet de personnaliser le bouton.
.ButtonName = "Insrer"
'Affiche la fentre
If .Show Then
On Error GoTo fini 'gestion erreur pour control importation
'Retourne un erreur si pas fichier image.
Me.Image1.Picture = .SelectedItems(1)
'Vide du cadre image.
Me.Image1.Picture = ""
'Extraction du nom du fichier copier.
strFichier = Mid(.SelectedItems(1), InStrRev(.SelectedItems(1), "\"))
'Copie du fichier slectionn vers le sous dossier de la base.
FileCopy .SelectedItems(1), CurrentProject.Path & "\images" & strFichier
'Chargement dans control du chemin de l'image (sous dossier base).
Me.Photos = CurrentProject.Path & "\images" & strFichier
'Rafrachit le Formulaire.
Me.Refresh
End If
End With
Exit Sub
fini:
Select Case Err
Case 2220
MsgBox "L'importation du fichier ne c'est pas effectu normalement.", _
vbCritical, "Erreur fichier Image"
Case Else
MsgBox Err.Number & Chr(13) & Err.Description
End Select
End Sub
VIII - Conclusion
Comme vous avez pu le constater, la gestion des images a t largement amliore dans Access2007 avec la
possibilit de mettre des images dans des formulaires continus.
Bases exemple du tutoriel
IX - Remerciements
Merci Tofalu, FRED-G, et Arkham46 Nono40 pour son excellent outil.
A www.developpez.com pour leur hbergement.
- 12 Copyright 2012 Morgan BILLY. Aucune reproduction, mme 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' trois ans de prison et jusqu' 300 000
de dommages et intrts. Cette page est dpose la SACD.
http://dolphy35.developpez.com/article/access2007/formcontinus/