Modernize Studio
Langue: FR
Nous écrire

Vos bases Microsoft Access, reconstruites en applications web

Nous reprenons la base Access dont dépend votre entreprise, avec ses tables, ses requêtes, ses formulaires, ses états et son code VBA, et nous la reconstruisons en application web adossée à SQL Server ou MySQL. Les données sont reprises intégralement et les écrans suivent la façon de travailler de vos équipes : personne n'a à réapprendre son métier.

Pourquoi maintenant

Le support Microsoft d'Access 2021, comme celui du reste d'Office 2021, prend fin le 13/10/2026. Access 2016 et Access 2019 ne sont plus pris en charge depuis le 14/10/2025, le même jour que Windows 10. Un fichier Access ne cesse pas de s'ouvrir à ces dates, mais il ne reçoit plus de correctifs de sécurité, et chaque nouvelle version de Windows ou de Microsoft 365 peut casser une référence, empêcher un contrôle ActiveX de se charger ou faire disparaître un pilote 32 bits.

Le plus souvent, la raison de changer est d'ordre pratique. Le fichier se trouve sur un lecteur partagé, une ou deux personnes savent comment il fonctionne, il est inutilisable hors du bureau sans bureau à distance, et il approche la limite de 2 Go d'un fichier Access.

  1. Windows 10, Access 2016 et Access 2019Fin du support Microsoft
  2. Access 2021 et Office 2021Fin du support Microsoft

Ce que nous migrons

Tout ce qui fait fonctionner la base, pas seulement les tables.

  • Tables et relations

    Types de données, clés primaires, index, relations avec intégrité référentielle, règles de validation et valeurs par défaut. Les champs NuméroAuto deviennent des colonnes d'identité et conservent leurs valeurs : vos numéros de facture et de commande ne changent pas.

  • Requêtes

    Requêtes sélection, ajout, mise à jour, suppression et analyse croisée, y compris celles qui lisent des valeurs dans des formulaires ouverts. Chacune est réécrite pour la nouvelle base et vérifiée par rapport aux résultats de l'originale.

  • Formulaires et sous-formulaires

    Écrans de saisie, formulaires continus, listes déroulantes dépendantes, présentations maître-détail. Ils deviennent des pages web avec les mêmes champs, dans le même ordre.

  • États

    États regroupés avec totaux et sauts de page, étiquettes, et les documents que vous imprimez ou envoyez en PDF, comme les factures et les bons de livraison.

  • Modules VBA et macros

    Code des formulaires, modules standard, AutoExec et macros incorporées. Les règles métier passent côté serveur, où elles s'appliquent de la même façon à tous les utilisateurs.

  • Tables liées et données externes

    Liaisons vers d'autres fichiers Access, des feuilles Excel, des sources ODBC et des listes SharePoint, ainsi que les imports et exports que quelqu'un lance chaque semaine.

À quoi ressemble la version web

Exemple illustratif, données fictives

Un ordre de réparation de garage tel qu'il pourrait se présenter sous Access 97, puis le même écran en application web.

Faites glisser la poignée, ou utilisez les flèches du clavier.

Ce que devient chaque élément

Dans Access: Tables de la base dorsale .accdb ou .mdb
Dans l'application web: Tables SQL Server ou MySQL, avec les mêmes clés et relations
Dans Access: Requêtes enregistrées
Dans l'application web: Vues, procédures stockées ou requêtes dans l'application
Dans Access: Formulaires et sous-formulaires
Dans l'application web: Pages web avec les mêmes champs, dans n'importe quel navigateur
Dans Access: États
Dans l'application web: Pages imprimables et fichiers PDF produits par le serveur
Dans Access: VBA dans les événements des formulaires
Dans l'application web: Contrôles et règles exécutés sur le serveur
Dans Access: Un fichier de groupe de travail (.mdw), ou aucun identifiant
Dans l'application web: Identifiants personnels avec rôles, et trace de qui a modifié quoi

Comment se déroule la migration

  1. Analyse sous 48 heures

    Vous nous envoyez une copie du fichier .mdb ou .accdb (frontale et dorsale si la base est fractionnée), avec des données fictives à la place des vraies si vous préférez. Sous 48 heures, nous vous répondons par un rapport écrit : ce que fait le programme aujourd'hui, où se situent les risques, comment s'organiserait la version web, un prix ferme pour un module pilote et une estimation pour le reste. L'analyse est gratuite et ne vous engage à rien.

  2. Module pilote

    Nous réalisons une partie de l'application sur une copie de vos données réelles, en général celle que vos équipes utilisent le plus. Elles s'en servent au quotidien avant que vous décidiez de la suite.

  3. Tests automatisés ancien contre nouveau

    Nous exécutons les requêtes et les états sur la nouvelle base et comparons le nombre d'enregistrements, les totaux et les chiffres imprimés avec ceux d'Access. Chaque règle identifiée fait l'objet d'un test automatisé qui fournit les mêmes entrées à l'ancien programme et à la nouvelle application, puis vérifie que les résultats concordent. Vous recevez les résultats des tests.

  4. 30 jours en parallèle

    Une fois l'application complète livrée, la base Access reste en service à ses côtés pendant 30 jours. Toute différence apparaît tant que l'ancien programme est encore là, et nous la corrigeons dans le cadre du prix convenu.

Les pièges habituels, et comment nous les traitons

  1. Le SQL de Jet et d'ACE n'est pas du SQL standard

    Access utilise * et ? comme caractères génériques dans LIKE, là où SQL Server et MySQL utilisent % et _. Il écrit les dates entre deux # et stocke True sous la forme -1. Des fonctions comme IIf, Nz, Format ou DateSerial n'ont pas d'équivalent direct. Recopier le texte SQL tel quel donne des requêtes qui échouent ou, pire, qui renvoient d'autres lignes. Nous traduisons chaque requête et comparons ses résultats à ceux de l'originale.

  2. Fonctions de domaine dans les boucles et les requêtes

    DLookup, DCount et DSum sont pratiques, mais chaque appel lance une requête distincte. Dans un formulaire continu ou au sein d'une autre requête, elles peuvent s'exécuter des milliers de fois pour un seul écran. Dans la version web, elles deviennent des jointures et des regroupements que le serveur de base de données traite en une seule passe.

  3. Requêtes qui lisent dans des formulaires ouverts

    Un critère comme [Forms]![frmOrders]![txtCustomerID] ne fonctionne que si ce formulaire est ouvert, sur ce poste. Nous transformons ces références en paramètres, pour que la même requête serve à n'importe quelle page ou n'importe quel état.

  4. Champs Oui/Non, Monétaire et Date/Heure

    Access stocke Oui/Non sous la forme 0 et -1, le type Monétaire avec quatre décimales, et les dates comme des nombres qui peuvent aussi contenir une heure. Sans précaution, les totaux dérivent de quelques centimes ou un filtre sur le 31/03 ne renvoie plus rien. Nous faisons correspondre chaque type de champ explicitement et comparons les totaux après chaque transfert.

  5. Champs pièce jointe, à valeurs multiples et listes de choix

    Ces types de champs n'existent que dans le format .accdb et cachent des tables supplémentaires. Nous les transformons en tables liées ordinaires, et les pièces jointes en fichiers stockés et référencés dans la base.

  6. Une frontale copiée sur chaque poste

    Beaucoup de bases reposent sur une copie de la frontale sur chaque poste, parfois dans des versions différentes, avec des chemins vers la dorsale sur un lecteur réseau. Pendant l'analyse, nous établissons quelle copie fait foi et quels chemins, imprimantes et compléments le code suppose.

Prix et paiement

Analyse

Gratuite

écrite, sous 48 heures

Module pilote

1 000–1 500 €

en général, réglé 50 % au démarrage et 50 % à la validation

L'analyse est gratuite. Si vous décidez de ne pas donner suite, vous gardez le rapport et ne devez rien.

Les prix sont fermes et convenus par écrit avant le démarrage. Si le périmètre change, nous vous envoyons un nouveau devis écrit et attendons votre accord avant de réaliser le travail supplémentaire.

Pour une migration complète, nous visons un prix inférieur de 40 à 60 % au devis habituel d'une agence. C'est possible parce que nous sommes un petit studio, sans locaux à payer ni équipe commerciale.

Prix hors TVA.

Essayer l'estimateur de prix

Une vraie migration, vérifiée par des tests

Northwind est la base d'exemple que Microsoft fournissait avec Access, pas l'un de nos clients. Nous en avons migré une copie publique vers SQLite et PostgreSQL, comparé chaque table et chaque requête à l'original par des tests automatisés, et construit une application web qui fonctionne sur le résultat. L'étude de cas donne les chiffres, le rapport d'équivalence détaille chaque contrôle.

Rapport d'équivalence (en anglais) · Aperçu cliquable et analyse d'exemple (démo)

Questions fréquentes

Pouvons-nous continuer à utiliser Access pendant la réalisation ?

Oui. Vous continuez à travailler dans la base comme d'habitude. Avant la mise en production, nous transférons à nouveau les données depuis la dernière copie, et la base reste en service 30 jours aux côtés de la nouvelle application.

Pourrions-nous garder les formulaires Access et ne migrer que les données vers SQL Server ?

Oui, et pour certaines entreprises c'est la bonne première étape : les tables passent sur SQL Server et la frontale Access s'y connecte. Cela règle les problèmes de taille et de stabilité, mais pas l'accès à distance ni la dépendance à Office. L'analyse indique quelle option convient à votre cas.

Notre base est un .mdb d'Access 97 ou 2003. Est-ce un problème ?

Non. Nous travaillons aussi bien avec des fichiers .mdb qu'avec des .accdb. Si une sécurité au niveau utilisateur a été mise en place dans un ancien .mdb, il nous faudra aussi le fichier de groupe de travail (.mdw), et nous vous le signalons avant tout envoi.

Que deviennent nos états ?

Chaque état est reconstruit sous forme de page imprimable ou enregistrable en PDF, avec les mêmes regroupements et les mêmes totaux. Les tests de comparaison vérifient les chiffres des nouveaux états par rapport à ceux d'Access.

Combien de personnes peuvent utiliser la version web en même temps ?

Cela dépend du serveur de base de données plus que de l'application, et SQL Server ou MySQL supportent bien plus d'utilisateurs simultanés qu'un fichier Access partagé. L'analyse recommande un hébergement adapté à votre nombre d'utilisateurs.

Où l'application sera-t-elle hébergée ?

Sur le serveur ou le service cloud de votre choix, ou sur un hébergement que nous mettons en place pour vous. Nous utilisons des technologies courantes, C# avec ASP.NET Core ou PHP avec MySQL, pour que votre prestataire informatique puisse en assurer l'exploitation.

Contact

Par e‑mail :

riccardo@modernizestudio.com
Écrire un e‑mail

Envoyez-nous une copie de la base, avec des données fictives si vous préférez, ou une courte description de ce qu'elle fait. Nous vous répondons sous un jour ouvré.

Nous travaillons depuis l'Italie.

Nous écrire