Créer des formulaires double affichage avec Access 2007
Date de publication : 06/03/2007
Par
Christophe LESSIRARD (http://lessirard.developpez.com/)
Une nouveauté Access 2007 qui va éviter de la programmation : les formulaires à double affichage.
En effet, jusqu'à présent, nous devions programmer nos formulaires pour
afficher le détail d'un enregistrement sélectionné.
Préambule
I. Introduction
II. Le formulaire double affichage
II-A. Avec sélection d'une table ou requête
II-A-1. Sélection d'une table
II-A-2. Sélection d'une requête
II-B. Sans sélection d'une table ou requête
II-C. Les propriétés
IV. Conclusion
V. Remerciements
Préambule
Lors de la rédaction de cet article, j'ai été agréablement surpris
par les modifications apportées à cette version d'Access.
Il semblerait que le mot d'ordre ait été " Simplicité, intuitivité ".
Je viens de rajeunir de 10 ans. Moi qui ai essentiellement connu la version 97,
je suis devenu accro à l'environnement de travail. Là où l'effort a été pour moi
remarqué du 1er coup c'est l'évolution de l'aide. Autant un retour en arrière
a été fait autant un bond en avant a été réalisé en même temps.
Maintenant, l'aide ne cherche plus : elle trouve !! Par contre, je n'y ai pas
trouvé d'exemples ce qui est fort dommage.
I. Introduction
Jusqu'à présent lorsque l'on souhaitait avoir une liste de Clients et
pouvoir consulter le détail du client sélectionné, il fallait avoir
recours à une acrobatie du développeur Access ; à savoir créer un
sous-formulaire en mode feuille de donnée et insérer sur le formulaire
principal des champs qui se remplissaient à chaque changement d'enregistrement
du sous formulaire.
Tout ça, c'est fini !! Avec Access 2007, vous avez la possibilité d'obtenir
ce double affichage sans tenter de programmer quoique ce soit.
Microsoft a intégré un formulaire de type double affichage qui solutionne le problème.
II. Le formulaire double affichage
II-A. Avec sélection d'une table ou requête
Vous avez sélectionné dans le volet de navigation un objet quelconque
(table, requête, formulaire ou état) : le bouton Formulaire
double affichage est disponible.
II-A-1. Sélection d'une table
Par exemple, créons une table basique Clients avec Nom, Adresse, CP, Ville etc…
Sélectionnons cette table dans le volet de navigation, cliquons sur
le bouton de création du formulaire.
Nous obtenons un formulaire basé sur la table Client.
Un formulaire apparaît alors en affichage mode page (une nouveauté également,
traitée par Fabrice CONSTANS dans son article
ACCESS 2007 et son nouveau Mode Page).
Ce formulaire nouvellement créé est basé sur l'objet sélectionné
dans le volet de navigation !!
II-A-2. Sélection d'une requête
Maintenant, créons une requête (Client13001) basée sur la table Client
qui nous fait ressortir les clients du 1er arrondissement.
En sélectionnant la requête et en cliquant ensuite sur le bouton
de création du formulaire, nous obtenons un formulaire basé sur la requête.
 |
Découverte fonctionnalité :
Plus surprenant dans cette nouvelle version d'Access 2007,
sélectionnez un des 2 formulaires créés, cliquez sur l'icône de
création du formulaire : vous obtenez un nouveau formulaire exactement
identique à celui sélectionné !!
Fini le copier-coller-renommer pour
faire une copie d'un formulaire.
Maintenant, vous sélectionnez votre formulaire, vous cliquez et le tour
est joué. Au moment de l'enregistrement, Access vous demande le nom du
nouveau formulaire.
|
II-B. Sans sélection d'une table ou requête
Vous n'avez pas sélectionné de table ou requête dans le volet de navigation,
le bouton Formulaire double affichage est grisé.
Cliquez donc sur Création de formulaire (vous aurez un formulaire en mode création)
ou sur Formulaire vierge (Le formulaire s'affichera en mode page).
Il vous faut donc dans 1er temps placer vos champs, structurer votre
formulaire afin qu'il soit présentable.
Une fois fait, il ne vous reste plus qu'à modifier les propriétés
adéquates pour faire apparaître le double affichage et régler les différents
paramètres.
Tout d'abord, il s'agit de modifier l'affichage par défaut du formulaire
en sélectionnant Formulaire double affichage dans la propriété
Affichage par défaut sur l'onglet Format.
C'est la modification principale au niveau des propriétés pour l'affichage
de la feuille de donnée et du formulaire.
A ce stade, vous pouvez afficher votre formulaire double affichage.
Mais il existe d'autres propriétés liées à ce type de formulaire qui vont vous
permettre de définir à la création ou à l'ouverture d'un formulaire par code VBA
ces différentes propriétés.
II-C. Les propriétés
Pas moins de six nouvelles propriétés sont disponibles pour ce nouveau mode
d'affichage et une propriété reçoit une nouvelle valeur. Nous l'avons vu plus haut,
il s'agit de l'affichage par défaut.
Voici toutes ces propriétés :
Propriété (mode création et VBA) |
Valeur (mode création et VBA) |
Description |
Affichage par défaut
DefaultView |
Formulaire double affichage
5 |
Affiche une vue divisée d'un seul formulaire et une feuille de calcul
contenant les enregistrements du formulaire. |
Taille du formulaire double affichage
SplitFormSize |
Auto (valeur par défaut)
Donnée de type Long |
Renvoie ou définit la taille du formulaire en twips lorsqu'il est
affiché en mode Formulaire double affichage. Type de données Long en
lecture/écriture. |
Orientation du formulaire double affichage
SplitFormOrientation |
Feuille de données en bas (par défaut)
Feuille de données à gauche
Feuille de données à droite
Feuille de données en haut
acDatasheetOnBottom / 1
acDatasheetOnLeft / 2
acDatasheetOnRight / 3
acDatasheetOnTop / 0
|
Renvoie ou définit la position de la feuille de données par
rapport au formulaire lorsque ce dernier est affiché en mode Formulaire
double affichage. |
Barre fractionnement formulaire double affichage
SplitFormSplitterBar |
Oui / Non
True / False |
Renvoie ou définit si la barre de fractionnement est disponible
lorsque le formulaire est affiché en mode Formulaire double affichage. |
Feuille de données du formulaire double affichage
SplitFormDatasheet |
Modif Autorisée Lecture seule
acDatasheetAllowEdits / 0
acDatasheetReadOnly / 1
|
spécifie si l'utilisateur peut modifier le contenu d'une feuille de
données lorsqu'un formulaire est affiché en mode Formulaire double affichage. |
Impression du formulaire double affichage
SplitFormPrinting |
Formulaire uniquement
Feuille de données uniquement
acFormOnly / 0
acGridOnly / 1
|
spécifie les éléments à imprimer lorsqu'un formulaire est affiché en mode
Formulaire double affichage. |
Enregistrer le positionnement de la barre Fractionnement
SplitFormSplitterBarSave |
Oui / Non
True / False |
Renvoie ou définit si l'emplacement de la barre de fractionnement
est enregistré lorsqu'un formulaire affiché en mode Formulaire double
affichage est fermé. |
IV. Conclusion
La création d'un formulaire à double affichage va être utile à plus d'un développeur
car celui-ci n'aura plus à programmer ses formulaires pour obtenir un double affichage
des données.
Je terminerai sur ceci : j'ai vraiment été stupéfait, ébloui par la différence entre Access 97 et Access 2007.
10 ans séparent ces 2 versions que j'ai principalement utilisées. L'interface est plus intuitive. On cherche
un peu au début, mais ensuite ça devient vite un réflexe pour trouver la fonctionnalité souhaitée.
V. Remerciements
Je remercie Tofalu qui me supporte, Heureux-oli pour sa bonne humeur, Nono40 pour son éditeur,
l'équipe Access, www.developpez.com et puis ceux que j'aurais oublié.
Special thanks to Loufab, Heureux-Oli for the relecture.


Copyright © 2007 Christophe LESSIRARD. 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.