Créer des formulaires double affichage avec Access 2007

Christophe LESSIRARD

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é.♪

- Titre : Créer des formulaires double affichage avec Access 2007

- Auteur : Christophe LESSIRARD

- Parution : 6 mars 2007

- Licence : 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'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- 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

- III. Conclusion

- IV. 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 dix 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ées 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 quoi que ce soit. Microsoft a intégré un formulaire de type double affichage qui résout 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 deux 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ées et du formulaire.
À 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é.

III - 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. Dix ans séparent ces deux 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.

IV - 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és.
Special thanks to Loufab, Heureux-Oli for the relecture.