# Microsoft Access

Microsoft Access est une base de données relationnelle éditée par Microsoft. Ce logiciel fait partie de la suite Microsoft Office.
MS Access est composé de plusieurs programmes : le moteur de base de données Microsoft Jet, un éditeur graphique, une interface de type Query by Example pour interroger les bases de données, et le langage de programmation Visual Basic for Applications.
Depuis les premières versions, l'interface de Microsoft Access permet de gérer graphiquement des collections de données dans des tables, d'établir des relations entre ces tables selon les règles habituelles des bases de données relationnelles, de créer des requêtes avec le QBE (Query by Example, ou directement en langage SQL), de créer des interfaces homme/machine et des états d'impression. Comme pour les autres logiciels Office, le VBA, Visual Basic for Applications, permet de créer des applications complètes et en réseau local, y compris en utilisant, créant ou modifiant les fichiers (documents Word, classeurs Excel, instances Outlook, etc.) des autres logiciels de la suite sans quitter Access.
La dernière version en date est la version 2019 ; elle fait partie de la suite Microsoft Office 2019 et est incluse dans certaines options de l'abonnement à Office 365. La version par abonnement, Microsoft Office 365, est actualisée automatiquement comme celle de Windows 10.

## Principales caractéristiques du produit

MS Access est un logiciel utilisant des fichiers au format Access (extension accdb depuis la version 2007 pour ACCess DataBase, ou avant 2007, extension de fichier mdb pour Microsoft DataBase). Chaque fichier est un conteneur des différents objets d'une base de données Access (tables, relations, requêtes, formulaires, états, macros, VBA). Une base de données Access peut donc être constituée d'un seul fichier.
Access est compatible avec les requêtes SQL sous certaines restrictions et dispose d'une interface graphique pour saisir les requêtes (QBE - Query by Example - « Requête par l'exemple »). Il permet aussi de configurer, avec des assistants ou librement, des formulaires et sous-formulaires de saisie, des états imprimables (avec regroupements de données selon divers critères, des totalisations et des sous-totalisations, conditionnelles ou non et éventuellement des sous-états, reliés ou non aux données principales de l'état), des pages html liées aux données d'une base, des macros et des modules VBA. Les formulaires et les états disposent aussi de leurs propres modules VBA. On accède aux objets par un navigateur de l’interface d'Access ou dans des applications programmées (par macro ou VBA) par les formulaires de l’interface homme/machine ainsi construits.
Comme beaucoup de systèmes de gestion de base de données relationnelles, ses données peuvent être utilisées dans des programmes écrits dans divers langages.
Les langages couramment utilisés avec Access sont le Visual Basic for Application (VBA) et les langages qui disposent de modules d'accès aux données pour les fichiers accdb ou anciennement .mdb : Delphi de Borland, Windev de Pc Soft, Visual Basic, VB.net, C#, C++ sous Visual Studio de Microsoft par exemple. Les bases de données produites par Access restent accessibles à tous les langages de programmation qui permettent une connexion à une base ODBC, c'est le cas par exemple sous Java en se servant de la passerelle JDBC-ODBC d'Oracle. VBA, intégré à Access comme à toutes les applications de la suite Microsoft Office, permet de créer des applications de gestion complètes, livrées avec un programme d'installation qui gère automatiquement la mise en place éventuelle d'un runtime d'Access, et dont le code source est protégé dans une version semi-exécutable des fichiers (accde ou anciennement mde).
En pratique les bases de données Access sont souvent constituées non pas d'un mais d'au moins deux fichiers car il est en effet possible et conseillé d'installer un fichier accdb ou mdb, contenant les tables de données, sur un poste ou un serveur local et des fichiers accdb (ou accde) contenant tous les éléments de l'application sur les postes client. Cette séparation permet le déploiement de mises à jour de la partie applicative sans avoir à manipuler les données existantes d'une base à une autre à chaque mise à jour. Dans ce cas, les fichiers clients sont « attachés » aux tables du fichier « accdb » installé sur le poste serveur. Le fait que les objets d'Access sont rassemblés dans un fichier présente l'avantage qu'Access est donc très simple à déployer car il n'a pas besoin de service serveur comme MySQL, Oracle, PostgreSQL, etc. Par contre un défaut d'écriture du fichier peut compromettre la totalité des données de la base. Il existe des outils de réparation de fichiers Access propre à Access et d'éditeurs tiers pour des réparations plus difficiles. Comme pour toute application logicielle, un modèle de sauvegarde est donc fortement recommandé.
Selon Microsoft les limites d'Access sont circonscrites par la taille maximum d'un fichier qui est de 2 Go. On peut ouvrir en simultané 2 048 tables et chaque table peut contenir au maximum 255 champs (colonnes), D'un point de vue concret Access convient généralement à des applications comprenant une centaine de tables (principales et de jointures / relations) avec 100 000 enregistrements pour les tables principales et de 1 000 000 d’enregistrements pour les tables de jointures (appelées aussi tables de liaisons ou de relations). Mais dans certaines configurations on trouve des tables principales d'Access qui contiennent plus d'un million enregistrements. C'est en fait la limite globale de la taille du fichier Access qui limite la répartition des données dans la base.
MS Access supporte théoriquement jusqu'à 255 utilisateurs simultanés, mais pour une utilisation exempte de problèmes, une vingtaine d'utilisateurs est un optimum car les échanges réseaux étant 10 à 20 fois plus gourmands en ressources qu'avec Microsoft SQL Server par exemple. En effet chaque application Access aura accès au fichier de données à travers le réseau sans passer par une application serveur qui limite le flux de données au strict nécessaire suivant la requête exécutée. Le confort d'utilisation de MS Access en réseau peut-être accru quand on utilise judicieusement les requêtes de type Snapshot (lecture seule, modifications ultérieures non visibles) plutôt que des requêtes de type Dynaset (lecture-écriture) qui sont beaucoup plus gourmandes en ressources réseau. Ces perfectionnements permettent d'atteindre une quarantaine d'utilisateurs en simultané. Ces caractéristiques conviennent donc à la plupart des petites et moyennes entreprises voire à des utilisations internes de services de grosses entreprises. Pour une utilisation de plus grande envergure, il peut servir de client pour un serveur de bases de données (comme SQL Server, Oracle, MySQL, etc.) via ODBC ou OLE DB, on parle d'utilisation frontale. Si Access est limité en nombre d'utilisateurs, il peut par contre gérer, sur de petits réseaux locaux de bonne qualité technique, des quantités d'informations qui vont bien au-delà des besoins de beaucoup d'organismes. Exemples : une base de données des pièces automobiles de toutes les marques pour des garages, ou une comptabilité de PME sur un seul site, mais autorisant des consolidations de plusieurs sites autonomes.
Les données d'Access sont facilement exploitables dans les publipostages de Word et les tableaux Excel. Réciproquement les feuilles de données d'Excel peuvent être « attachées », comme une des tables de la base de données ou importées ponctuellement dans une table Access.
Par le biais du langage de programmation VBA intégré à Access, il est possible de créer/modifier tout type de tableaux d'un classeur Excel, puis de traiter et transférer les informations adéquates de la base de données vers ce même classeur. Il est aussi possible de créer ou modifier des documents Word en automatisant les fonctionnalités de Word depuis Access ou d'automatiser l'envoi de messages sous Outlook.

## Les différentes versions

* Logo de 2000
* Logo de 2013
* Logo actuel
| Version | Numéro de version | Date de release | Version du moteur Microsoft Jet | Système d'exploitation supporté | Version de la suite Office |
| Access 1.0 | 1.0 | 1992 | 1.0 | Windows 3.0 | |
| Access 1.1 | 1.1 | 1993 | 1.1 | Windows 3.1x |
| Access 2.0 | 2.0 | 1994 | 2.0 | Windows 3.1x | Office 4.3 Pro |
| Access for Windows 95 | 7.0 | 24/08/1995 | 3.0 | Windows 95 | Office 95 Professional |
| Access 97 | 8.0 | 16/01/1997 | 3.5 | Windows 95, Windows NT 3.51 SP5, Windows NT 4.0 SP2 | Office 97 Professional and Developer |
| Access 2000 | 9.0 | 07/06/1999 | 4.0 SP1 | Windows 95, Windows NT 4.0, Windows 98, Windows 2000 | Office 2000 Professional, Premium and Developer |
| Access 2002 | 10.0 | 31/05/2001 | 4.0 SP1 | Windows NT 4.0 SP6, Windows 98, Windows 2000, Windows Me | Office XP Professional and Developer |
| Access 2003 | 11.0 | 27/11/2003 | 4.0 SP1 | Windows 2000 SP3 or later, Windows XP, Windows Vista, Windows 7 | Office 2003 Professional and Professional Enterprise |
| Access 2007 | 12.0 | 27/01/2007 | 12 | Windows XP SP2, Windows Server 2003 SP1, or newer operating system | Office 2007 Professional, Professional Plus, Ultimate and Enterprise |
| Access 2010 | 14.0 | 15/07/2010 | 14 | Windows XP SP3, Windows Server 2003 SP2, Windows Server 2003 R2, Windows Vista SP1, Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows Server 2012, Windows 8 | Office 2010 Professional, Professional Academic and Professional Plus |
| Access 2013 | 15.0 | 29/01/2013 | 15 | Windows 7, Windows Server 2008 R2, Windows Server 2012, Windows 8, Windows 10 | Office 2013 Professional and Professional Plus |
| Access 2016 | 16.0 | 22/09/2015 | 16 | Windows 7, Windows 8, Windows 8.1, Windows 10 | Office 2016 Professional and Professional Plus |
| Access 2019 | 16.0 | 24/09/2018 | 16 | Windows 10 | Office 2019 Professional and Professional Plus |