ACCESS : Pourquoi Ms Access ?

Si vous entendez quelqu’un vous dire que MS Access est une base de données, c’est que votre interlocuteur ne le connaît pas ou ne s’est jamais aventuré au-delà de l’utilisation des tables et des requêtes. MS Access n’est pas une base de données (SGBDR). Il est plutôt à ranger dans la catégorie des RAD – acronyme de « Rapid Application Development » ou « Système de Développement Rapide d’Application » en Français.

C’est donc un produit qui intègre tous les composants nécessaires à la création « rapide » d’applications. Je mets le terme « rapide » entre guillemets, car bien qu’Access facilite la conception d’applications simples, concevoir une application complexe demande une certaine expertise.

Pourquoi choisir Access ?

Les utilisateurs qui choisissent Access le font généralement pour les bonnes – ou les mauvaises – raisons suivantes :

  • Disponible dans la version d’Office Professionnel ou en produit indépendant,
  • Dispose d’un Runtime
  • Facilité d’installation par rapport à d’autres produits de développement qui demande des compétences système et DBA.
  • Prise en main intuitive de l’interface graphique pour créer des tables, des relations et des requêtes,
  • Possibilité de lier des tables issues d’autres SGBDR,
  • Ensemble d’objets pour aller plus loin qu’une simple base de données,
  • Parfaitement intégré dans le monde Office et Windows.

Parmi les raisons contradictoires certaines sont factuelles, d’autres relèvent d’opinions, au pire des consensus fondés sur une méconnaissance du produit :

  • Édité par Microsoft (donc non libre),
  • Disponible uniquement sous Windows,
  • Base de données fichier (ACE), pas serveur,
  • ACE Limitée à 2 Go par fichier
  • Pas orienté Web
  • Méconnaissance de VBA (vu comme un langage de macros)
  • Confusion avec Excel (alors que ce sont 2 produits incomparables)
  • Mauvaise réputation en France (perçu comme un produit « bureautique »),

Vrai ou faux

Autant Ms Access n’est pas libre autant ce que vous produisez peut l’être, tout dépend de la licence que vous choisissez.

En effet, Access n’est disponible que sous Windows… mais fonctionne parfaitement sur une machine virtuelle.

ACE est une base de données fichier. Elle est très performante et a le mérite d’être parfaitement intégrée à Access. Cependant vous pouvez utiliser la base de données que vous souhaitez. Personnellement, tous mes projets d’envergure s’appuient sur Sql Server, MariaDb, PostgresSQL J’ai également travaillé sur de très grosses applications sur Oracle et Sql Server.

Oui ACE est limité à 2 Go. Mais vous êtes libre de choisir la base de données la plus adaptée.

Access n’est pas WEB. Si vous devez faire un site ou une application WEB ce n’est pas le bon produit. Il m’est arrivé de discuter avec des clients qui souhaitaient absolument une techno WEB… sans savoir pourquoi. En analysant le besoin je me suis rendu compte que ce besoin n’était pas justifié.

VBA est un langage accessible mais qui demande de la rigueur sur des projets professionnels. Ceux qui confondent VBA et macro ne connaissent pas le sujet.

Excel et Access n’ont rien à voir. L’un est un tableur qui manipule des données alors que l’autre est un RAD. Oui on peut parfaitement créer une IHM avec Excel, cependant il ne gérera jamais une base de données.

MS Access et sa mauvaise réputation en France

Cette mauvaise réputation est héritée d’une époque (fin des années 90 – début 2000) où les DSI voyaient Access comme une menace : des utilisateurs métiers créaient leurs propres outils, sans passer par les services informatiques. Ce que les DSI oubliaient c’est que ces utilisateurs :

  • maîtrisaient leur métier,
  • savaient ce dont ils avaient besoin
  • avaient un excellent taux de réactivité

Certes ils péchaient d’un manque d’expérience en développement. Cela donnait des applications parfois bancales… mais toujours utiles puisque 10 ans plus tard elles étaient toujours là.

Ms Access et ses objets

Les objets pour créer une application sont les suivants :

  • Tables (internes ou liées)
  • Requêtes SQL
  • Formulaires (saisie, consultation, suppression, navigation…)
  • Etats d’impression,
  • Macros (automatisation simpliste)
  • Modules pour le langage VBA. (automatisation avancée)

Access et les autres SGBDR

Bien que la plupart des applications utilisent un SGBDR pour la persistance, on peut créer des applications sans jamais avoir besoin d’une base de données. A contrario on peut avoir besoin d’une application standalone, sans aucune IHM et qui fonctionne de manière autonome.
Une application de synchronisation intelligente de données entre SGBDR hétérogènes en est le parfait exemple.
En règle générale Access permet de créer un front-end léger couplé à une base ACE, SQL Server, PostgresSQL, MariaDb.

Le pire côtoie le meilleur

Le pire c’est une appli conçue à la va-vite, sans modèle de données solide. Les adeptes du QDD (Quick & Dirty & Disposable, soit Vite, Sale et Jetable en français) en sont friand. Une fois le « jetable » installé, il est difficile de s’en passer, la réécriture étant couteuse et l’informatique le parent pauvre de l’industrie, on retrouve ces applications 15 ans plus tard pleinement fonctionnelles. Leur maintenance se fait souvent dans la douleur et les larmes et Access est déclaré comme un produit d’amateurs.

Le meilleur s’appuie sur les concepts qui régissent tous les logiciels. Elle s’appuie sur un choix de base de données pertinent, elle est maintenable, évolutive et répondant aux vrais besoins métier.

En résumé

Access est sous-estimé, mal compris, mais redoutablement efficace quand il est bien maîtrisé. Beaucoup ont tenté de migrer des applications Access vers des technos « à la mode » sans retrouver la puissance et l’ergonomie des composants d’Access. L’application est alors vu pas les utilisateurs comme ces livres inutiles qui ornent l’étagère la plus haute des bibliothèques.

Excel n’est pas une base de données.

Combien d’entrepreneurs assurent toutes ou partie de la gestion de leur entreprise avec Excel ?
Combien osent affirmer qu’ils sont dans une impasse après quelques temps d’utilisation ?

Au premier abord c’est génial, bluffant, les résultats rapidement obtenus par un néophyte s’affichent et comparés au temps passé et aux sommes investies l’entrepreneur reste gagnant.
Les problèmes apparaissent à l’utilisation et lors de l’évolution des besoins.

Les carences d’un produit dévoyé ne peuvent être totalement gommées d’un simple agencement de formules ou de code. Le contournement devient alors un véritable casse-tête et ce qui semblait démarrer comme une belle aventure tourne au cauchemar chronophage et fonctionnel.

Un peu comme si vous utilisiez une pompe à vélo pour gonfler la roue de votre voiture.

Cependant il ne faut pas se méprendre, quelques formules entre feuilles ou workbooks ou quelques procédures VBA n’en feront jamais un système de gestion de base de données relationnel.

Voici les erreurs les plus récurrentes observées dans ces solutions empiriques :

  • Duplication de données
  • Absence ou lourdeur des contrôles de saisie
  • Absence d’un langage de traitement de masse
  • Incohérence des chaines de données
  • Limitation de la quantité de données
  • Lenteur généralisée avec des volumes de données moyens
  • Aucune notion de multi-utilisateur

Excel reste le meilleur tableur sur le marché mais ce n’est pas parce qu’on maitrise un produit qu’il est le plus adapté au but recherché.

Si on ne peut pas tenir rigueur de l’entrepreneur néophyte, son seul objectif étant la gestion à meilleur coût, on est en droit de se poser des questions sur l’éthique des « expert » qui conseillent encore Excel pour ce genre de besoin.

comparatif Excel et Base de données

Si après la lecture du comparatif suivant vous n’êtes toujours pas convaincu, n’hésitez pas à exposer vos arguments.