Découvrez les nouveautés de Microsoft Access 2007

Auteur

Christophe WARIN

Découvrez la nouvelle version de Microsoft Access 2007.
A travers cet article, je vous propose de connaître l'avis des utilisateurs quant à la plupart des nouvelles fonctionnalités.

- Titre : Découvrez les nouveautés de Microsoft Access 2007

- Auteur : Christophe WARIN

- Parution : 14 février 2007

- Licence : Copyright ® 2006-2007 C Warin. 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

- I. Introduction

- II. La nouvelle interface

- II-A. Le développeur

- II-B. L'utilisateur

- II-B-1. Les nouveautés

- II-B-1-a. Le contrôle calendrier

- II-B-1-b. Optimisation du mode feuille de données

- II-B-1-c. Edition de texte enrichi

- II-B-1-d. Les filtres de formulaires

- II-B-1-e. Images dans les formulaires continus

- II-B-1-f. Les variables temporaires

- II-C. La programmation du ruban

- III. Travail collaboratif

- III-A. Sharepoint Service

- III-A-1. Les champs à valeurs multiples

- III-A-2. Les pièces-jointes

- III-B. Outlook

- IV. Portabilité et interopérabilité

- IV-A. Le format XML

- IV-B. Le pdf

- V. Conclusion

I - Introduction

Il y a dix ans sortait Microsoft Office 97, amenant de ce fait la plus populaire des versions de Microsoft Access. Aujourd'hui, en 2007, l'équipe Office renouvelle l'exploit et nous dévoile Microsoft Access 2007.

Après un an d'utilisation sur les versions béta, je vous propose de vous faire découvrir une majeure partie des nouveautés du célèbre système de gestion de base de données.

II - La nouvelle interface

Si vous ne l'avez pas encore testé, voici à quoi ressemble Microsoft Access 2007 :

Bien entendu, le changement radical de l'interface graphique a des répercussions tant sur le développeur que sur l'utilisateur.

II-A - Le développeur

La nouvelle interface de la suite Office est axée sur l'utilisateur. Le développeur étant le premier utilisateur d'Access, Microsoft a amélioré l'ergonomie de son produit afin de rendre les développements plus rapides, plus précis, plus efficaces.

En outre, le nouveau panneau de navigation permet en un seul coup d'œil de déterminer les relations entres les différents objets de la base de données.

Dans l'exemple ci-dessus, le panneau regroupe les objets par dépendance. La requête R02 affichant les commandes par client, elle apparait logiquement dans la hiérarchie des objets tblClient et tblCommande.

D'autres modes de tris sont disponibles : par date de création, par date de mise à jour, par type, etc.

Il est ainsi possible de retrouver le classement des anciennes versions :

D'autre part, ce panneau peut être replié en cliquant sur la flèche du coin supérieur gauche, agrandissant ainsi l'espace de travail. Grâce à cet outil, le développeur peut enfin suivre la totalité de son projet sans risque de se voir multiplier les objets orphelins ou inutiles.

Comme dans toute autre application Office, le ruban devient l'élément central de l'application. Toutes les fonctionnalités y sont regroupées. Là où avant une succession de plusieurs clics étaient nécessaires (au risque de se perdre dans les différentes pages d'options), il ne faut désormais plus que deux à trois actions pour activer, mettre en forme, créer, dessiner, exporter…

Les différents onglets contextuels permettent de restreindre l'affichage des commandes applicables à l'élément actif à l'écran.

A cause de la complexité des menus, Microsoft estime à 10 - 20 % le nombre de fonctionnalités réellement utilisées dans les versions précédentes de sa suite Office. Qui sait, le développeur Access va peut être découvrir des options qui existent déjà depuis 10 ans.

II-B - L'utilisateur

Si d'ores et déjà, le développeur est gâté par la nouvelle interface, l'utilisateur n'en est pas en reste. Un grand nombre de nouveautés viennent améliorer l'ergonomie des produits qu'il va utiliser (des produits que le développeur va construire). Sans oublier l'efficacité de l'incontournable ruban.

II-B-1 - Les nouveautés

II-B-1-a - Le contrôle calendrier

A en juger le nombre de discussions sur le forum, les problèmes de sélection de dates sont monnaies courantes. Comment garantir efficacement que l'utilisateur saisit une date valide dans le format spécifié localement sur la machine ? Jusqu'à présent, le seul moyen était d'utiliser le contrôle Active X Microsoft Calendar. Bien entendu, comme pour tout ActiveX, la portabilité en termes de déploiement n'était pas au rendez-vous. Le problème est résolu avec un assistant à la saisie (intégré nativement dans les zones de texte). La nouvelle propriété Afficher Sélecteur de dates des zones de texte permet de définir si le calendrier doit être affiché ou non.

Avis des utilisateurs :

II-B-1-b - Optimisation du mode feuille de données

Le mode feuille de données permet de fournir une vision globale des données à l'utilisateur. Désormais, il est possible d'ajouter une ligne de synthèse en bas du tableau. L'utilisateur pourra ainsi consulter la somme, la moyenne, etc. des enregistrements présents dans sa table. Il pourra d'ailleurs changer lui-même la formule de calcul suivant ses besoins.

D'autre part, les nouveaux formulaires prennent en charge le double affichage permettant ainsi d'afficher la grille de données dans un formulaire classique.

Le développeur peut choisir la place de la grille de donnée, déterminer si les préférences de l'utilisateur doivent être conservées, etc. Evidemment, les déplacements dans la grille sont synchronisés avec ceux du formulaire. Pour couronner le tout, il est même possible d'interdire la modification des données depuis le tableau.

Avis des utilisateurs :

II-B-1-c - Edition de texte enrichi

Qui n'a jamais rêvé de personnaliser la saisie dans les zones de textes ? Mettre quelques mots en gras, d'autres en rouge, etc. Jusqu'à présent il fallait utiliser le contrôle ActiveX RichTextBox. Désormais, les zones de texte prennent en charge cette fonctionnalité. Il suffit pour cela de définir la propriété Format du Texte à Texte Enrichi. La zone de saisie adopte alors le comportement de Microsoft Word.

La mise en forme des données est stockée dans un champ mémo de la base de données sous forme de code HTML.

<div>Ceci est un <font color=red>essai</font></div>

Enfin, VBA offre une méthode permettant d'épurer le contenu du champ et de retourner l'information sans mise en forme.

Dim orst As DAO.Recordset
Set orst = CurrentDb.OpenRecordset _
("SELECT Texte from TblClient WHERE numclient=4")
Debug.Print Application.PlainText(orst.Fields(0))

Affiche :

Ceci est un essai

Avis des utilisateurs :

II-B-1-d - Les filtres de formulaires

Les filtres de formulaires ne sont pas une nouveauté mais ont subit une réelle amélioration. En cliquant avec le bouton droit de la souris sur un champ de formulaire, Access propose un menu contextuel permettant d'accéder aux enregistrements semblables, différents, supérieurs, inférieurs, etc.

La barre de navigation des formulaires accueille désormais une zone de saisie permettant d'effectuer une recherche dans tous les champs du formulaire et de se positionner sur les enregistrements correspondants.

Avis des utilisateurs :

II-B-1-e - Images dans les formulaires continus

L'insertion d'image dans les formulaires continus était un réel besoin des utilisateurs poussant les développeurs à recourir à des acrobaties vertigineuses pour combler ce déficit. C'est notamment le cas de Cafeine (MVP Access) dans son tutoriel : Repousser les limites des formulaires continus. De par sa complexité, cette démarche ne pouvait pas s'inscrire dans l'optique d'un produit « tout public ». Microsoft a donc résolu le problème en portant la gestion des images des formulaires uniques aux formulaires continus. Même si cette fonctionnalité était un peu fragile il y a encore quelques mois dans la béta 2, elle semble aujourd'hui complètement opérationnelle.

Pour découvrir cette nouveauté en détails, vous pouvez consulter le tutoriel de Morgan Billy : Intégration d'images dans les formulaires continus sous Access 2007

Avis des utilisateurs :

II-B-1-f - Les variables temporaires

La nouvelle collection Application.TempVars permet de stocker des variables utilisables partout dans l'application et qui seront détruites à la sortie du programme. Chaque variable est identifiée par un nom unique dans la collection. L'ajout d'une variable déjà existante provoquera l'écrasement de la plus ancienne.

Voici les méthodes disponibles :

'Crée la variable MaVariable
TempVars.Add "MaVariable", 15
'Affiche 15
MsgBox TempVars("MaVariable")

TempVars.Add "MaVariable", 16
'Affiche 16
MsgBox TempVars("MaVariable")

'Supprime la variable MaVariable
TempVars.Remove "MaVariable"

'Supprime toutes les variables temporaires
TempVars.RemoveAll

Cette syntaxe évite le recours à des variables publiques et le nommage au sein de la collection rend leur accès très souple.

Pour plus d'informations concernant cette nouveauté, je vous invite à consulter le tutoriel : les variables temporaires dans Microsoft Access 2007.

II-C - La programmation du ruban

Mon coup de cœur pour cette nouvelle version.

En mode exécution le ruban semble complètement inutile. Les fonctionnalités qu'il propose sont superflues. Pour ces raisons, le développeur aura souvent comme intention de le faire disparaitre. Il s'agit là d'une très mauvaise idée. L'utilisateur est habitué aux produits Microsoft Office et a, de ce fait, pris un certains nombre d'habitudes. En toute logique, il s'attend à retrouver dans le ruban les commandes de l'application qu'il utilise.

Grâce à un fichier XML et quelques méthodes VBA vous allez pouvoir le transformer en un véritable centre de pilotage de l'application que vous avez développée.

Vous pouvez par exemple mettre en place un véritable assistant de recherche multi-critères :

Le formulaire retrouvera alors sa fonctionnalité première : l'affichage des données. Coté ergonomie, l'utilisateur pourra en un seul coup d'œil déterminer les parties métier et données de l'application. D'après les premiers retours que j'ai eus, il se sent guidé et aiguillé.

Pour comprendre le fonctionnement du ruban, vous pouvez consulter ces deux tutoriels :

- Programmation et personnalisation du ruban sous Access 2007

- Gestion de favoris sous Access 2007

Avis des utilisateurs :

III - Travail collaboratif

III-A - Sharepoint Service

Microsoft SharePoint est le nouveau fer de lance de Microsoft pour les entreprises. Portail destiné à gérer l'activité de la société, il s'intègre naturellement dans la suite bureautique Microsoft Office.

Dans SharePoint, les données sont stockées dans des listes (composants très proches des tables). Ces listes peuvent être importées ou liées dans Access 2007 et les tables de la base de données locale sont synchronisables avec le portail via les commandes de l'onglet Données Externes.

Si vous vous intéressez d'un peu plus près à SharePoint, vous vous apercevrez qu'il prend en charge certaines fonctionnalités inexistantes dans les versions antérieures d'Access. En voulant faire de SharePoint le cœur du système d'informations, Microsoft a été contraint de porter ces fonctionnalités aux produits Office.

Parmi ces nouveautés, deux ont retenues mon attention : les champs à valeurs multiples et les pièces jointes.

III-A-1 - Les champs à valeurs multiples

Le champ multi-valué sème le trouble parmi les experts de la modélisation. Un tel champ est susceptible de recevoir plusieurs valeurs pour la même ligne (remplaçant ainsi une table de jointure), le tout avec une interface d'ajout des données plutôt sympathique :

Mais attention, son utilisation ne doit pas être un moyen de cacher une erreur conceptuelle ni même de simplifier les règles de gestion. Car en effet, s'il est adapté à un petit volume de données, il ne doit pas être utilisé dans une structure complexe et volumineuse sous peine de dégrader considérablement les performances.

Avis des utilisateurs :

III-A-2 - Les pièces-jointes

Les nouveaux champs de type pièces-jointes permettent de stocker des fichiers dans la base de données. Cette technologie repose sur les champs à valeurs multiples : il est possible d'ajouter plusieurs fichiers dans un champ pour un même enregistrement.

Contrairement aux champs OLE, le champ pièce-jointe est facilement utilisable en VBA : DAO intègre des méthodes permettant d'ajouter et d'enregistrer les fichiers.

Le nouveau contrôle pièce-jointe offre une interface ergonomique pour gérer ces fichiers dans les formulaires et permet une prévisualisation directe des images (idéal pour une galerie de photos par exemple) . De plus, il est entièrement piloté en VBA.

D'autres informations sur les champs pièces-jointes sont disponibles dans le tutoriel : A la découverte d'Access 2007 : Les pièces jointes par l'exemple.

Avis des utilisateurs :

La compatibilité avec Sharepoint a amené d'autres nouveautés que je ne détaillerais pas ici. Il s'agit notamment de l'historisation des modifications dans les champs mémos ainsi que l'homogénéisation graphique des composants de l'interface (calendrier, par exemple).

III-B - Outlook

Comme cela a été évoqué dans les sessions Web TV, Microsoft Outlook devient l'élément fédérateur des différentes applications de la suite Office. Ainsi, il intègre nativement les tâches MS Project, et tout autre élément Office. S'il est possible d'importer les données des dossiers Outlook dans Access, il est aussi possible de le transformer en collecteur de données pour vos tables.

Le processus est simple :

Access crée un formulaire avec des champs à remplir dans un courrier électronique. Outlook envoie ce mail aux utilisateurs. Via leur gestionnaire de messagerie, ils remplissent les différents champs et le retournent à l'adresse d'expédition. Outlook 2007 reçoit le mail et intègre automatiquement les données dans la table.

La seule limite réside dans la compatibilité des gestionnaires de messageries client : ils doivent impérativement être compatibles HTML sous peine d'être dans l'incapacité d'afficher le courrier.

A noter aussi que ce mode de collecte est également compatible avec les formulaires Microsoft InfoPath.

Avis des utilisateurs :

IV - Portabilité et interopérabilité

IV-A - Le format XML

L'interopérabilité des applications Office passe par la prise en charge intensive du format XML : OpenXML. Bien que l'export XML soit pris en charge dans les versions antérieures de Microsoft Access, il est désormais possible d'exporter et importer la structure des tables dans des fichiers XSD. Vous pouvez ainsi échanger les fichiers décrivant votre base de données à d'autres développeurs sans fournir les données, et vice-versa, favorisant de ce fait les échanges de contenu entres plusieurs applications.

Mieux, encore : définissez vos propres modèles de champs et de tables réutilisables par votre équipe. Vos développeurs créeront ainsi des champs possédant les mêmes règles de gestion. Pour cela rien, de plus simple. Il suffit d'exporter en XML une table contenant les champs modèles et de renommer le fichier pour lui donner l'extension accfl. Placez le fichier dans le répertoire templates d'Office et le tour est joué. Le format utilisé vous permettra au chef de projet d'éditer la définition des champs via un simple éditeur de texte, voire même pourquoi pas créer un complément automatisant la tache.

Beaucoup de fonctionnalités reposent sur ce principe permettant ainsi au développeur de s'approprier l'environnement de développement.

IV-B - Le pdf

Sûrement la fonctionnalité qui a fait coulé le plus d'encre : existera, existera pas … Il y a encore quelques mois, on pouvait lire que la création de document PDF ne serait pas au rendez-vous. Rassurez-vous, il est tout à fait possible de générer des états au format PDF. Toutefois, ce mécanisme n'est pas pris en charge nativement mais nécessite l'installation d'une extension gratuite disponible sur le site Internet de Microsoft.

A travers le tutoriel : Enregistrez vos états au format PDF, je vous invite à faire le point sur les nouvelles possibilités qui s'offre à vous :

Avis des utilisateurs :

V - Conclusion

Comme vous avez pu le lire au travers de ce document, je suis vraiment séduit par cette nouvelle version. Je regrette juste l'orientation "débutant" que prend le produit avec la venue de nouveautés perturbantes pour le professionnel et dangereuses pour le novice (le plus bel exemple : les champs multi-valués).

A noter aussi que la sécurité de niveau utilisateur a disparue (elle fera l'objet d'un prochain article)

Pour résumer, j'invite les développeurs à réaliser au plus vite leurs nouveaux développements sous Microsoft Access 2007, et pourquoi pas migrer l'existant pour bénéficier des avantages du ruban.

Enfin, un dernier mot pour remercier le programme béta de Microsoft Office 2007 et tous ses interlocuteurs pour la prise en compte rapide des bugs remontés, ainsi que l'équipe Access et Mickaël de www.developpez.com pour leur relecture.