Programmation de l’application les macros

Support de cours Access programmation de l’application les macros, tutoriel & guide de travaux pratiques Access en pdf.

Les bases de données Jet / MSDE

On ne devrait pas dire « base de données Access », mais « base de données Jet ». Jet est le moteur de base de données d’Access.
Une base de données Jet n’est PAS une base client/serveur, mais un simple fichier contenant des tables, avec intégrité référentielle (SGBDR = Système de Gestion de Base de Données Relationnelle).
Depuis Access 2000, il est également possible de développer sous Access avec une base MSDE (Microsoft SQL Server Desktop Edition). Les nouveaux projets (fichiers .adp) sont conçus pour accéder directement à une base MSDE ou SQL server (Standard Query Language, langage standard de requêtes).

Les limites

Jet et MSDE sont limités en taille : 2 Go maxi. Au-delà, utiliser une base client/serveur proprement dite.
Jet, avec une limite théorique de 255 connexions simultanées, marque une baisse de performances à partir de 5 connexions, et n’est pas recommandé au-delà de 10. MSDE est optimisé pour 5 requêtes concomitantes, y compris les procédures stockées. Au-delà, les performances se dégradent rapidement.
Il y a pire : Jet stocke les données dans des Pages. La page est un bloc de données qui contient généralement plusieurs enregistrements. Dans le cas d’ajouts intensifs et concurrentiels en particulier, l’expérience montre des blocages qui n’auraient pas lieu si Jet ne bloquait qu’un seul enregistrement à la fois.
Jet n’a pas de déclencheurs (triggers). On utilise à la place les évènements de formulaire, principalement : Form_BeforeUpdate, Form_BeforeInsert, Form_Delete, … Dans ce cas, il est impératif de protéger l’accès aux bases Jet si on veut empêcher qu’un utilisateur ne modifie les données directement dans les tables, et ne leur fasse perdre leur cohérence. Ou d’utiliser une base MSDE, avec de vrais déclencheurs.
Jet n’a pas de procédures stockées. Je ne savais pas que c’était un problème. Toute manipulation de données ou de leur structure s’effectue parfaitement en DAO, accessoirement en ADO. Avec, par rapport au langage SQL, l’avantage considérable d’un véritable éditeur syntaxique, du débogage…
Il y a d’autres problèmes, tels que la gestion des GUIDs (Globally Unique IDentifiers), qui ne sont pas propres à Access, ni à SQL Server, mais à la différence entre la manière dont l’un et l’autre gèrent ces données. Ces problèmes, résolubles par tâtonnements, ne concernent donc que les échanges de données entre bases différentes.
Jet n’est pas un moteur client/serveur. Il s’agit d’un moteur de base de données fichier. Il est donc plus lent que MSDE ou autre base client/serveur, et plus gourmand en ressources réseau, pour exécuter la même requête, dans les mêmes conditions d’environnement réseau et machines. Mais d’une part, on ne l’utilisera pas dans les mêmes conditions, et d’autre part, la souplesse d’un simple fichier, plus le mécanisme d’attache des tables donnent des possibilités que ne fournissent pas les applications client/serveur, même avec MSDE.
Enfin, la stabilité des fichiers Access (fichiers *.mdb) n’est pas garantie. Il arrive fréquemment qu’un fichier soit endommagé et, malgré les outils de réparation, ne puisse être récupéré. Il est donc impérératif de soigner tout particulièrement sa politique de sauvegarde.

………

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *