Créer des formulaires double affichage avec Access 2007

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

Article lu   fois.

L'auteur

Site personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

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.

Image non disponible

II-A-1. Sélection d'une table

Par exemple, créons une table basique Clients avec Nom, Adresse, CP, Ville etc…

Image non disponible

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.

Image non disponible

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

Image non disponible

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.

Image non disponible

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.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

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.