Bonjour,
J'ai commencé à développer un projet de gestion de la production pour une PME sous Access (je ne suis pas un professionnel, en résumé j'avais développé un petit projet et j'envisage de l'adapter à plus grande échelle) et je me demande si Access sera suffisant en termes de performances.
J'ai lu beaucoup de témoignages divers sur le sujet mais je ne suis pas un spécialiste et il est difficile de se faire une idée concrète, d'où ce post.
Voici les caractéristiques du projet :
- architecture front-end/back-end sur un réseau local, avec au maximum 6 utilisateurs (dont 3 en consultation uniquement)
- environ 50 tables, dont une dizaine qui contiennent des paramètres uniquement (fournisseurs, produits, etc.) et environ 20 avec "beaucoup" de données (de 500 à 10 000 enregistrements)
- environ 150 requêtes diverses
- environ 150 formulaires avec du VBA pour contrôler la saisie, calculer des champs, et surtout du DAO pour entrer/modifier/supprimer des enregistrements (ainsi aucun formulaire n'est lié à une table)
Ma préoccupation concerne le volume de données qui va transiter sur le réseau et la vitesse d'exécution. Pas de volume très important dans l'absolu mais 2 caractéristiques :
1) beaucoup de requêtes imbriquées, notamment un schéma qui revient souvent afin de comparer les enregistrements dans 2 (voire 3) tables : regroupement séparé des enregistrements de chaque table, puis 2 requêtes outer join left et right pour avoir toutes les correspondances, une requête Union pour les combiner, et enfin l'ajout de paramètres de filtre via du VBA pour afficher l'ensemble.
2) en lien avec le VBA précédent, des formulaires de consultation que j'essaie de rendre "dynamiques" : des onglets avec des sous-formulaires en mode "feuille de données" qui permettent de visualiser les enregistrements de plusieurs tables/requêtes, et dans l'en-tête du formulaire des combo box et cases à cocher qui permettent de filtrer sur plusieurs champs. A chaque mise à jour des combo/case à cocher, les données source sont filtrées grâce à une requête écrite en VBA.
A chaque fois qu'un utilisateur cochera une case pour activer/désactiver un filtre, il y aura donc transfert de potentiellement plusieurs tables (si j'ai bien compris le fonctionnement du moteur d'Access !) avant que les différentes requêtes soient traitées et les résultats affichés ... Dans un précédent projet dans le même esprit mais plus petit (et avec max 2 utilisateurs), les formulaires de consultations se mettaient à jour quasi-instantanément. Pensez-vous que je puisse espérer la même chose compte tenu de la taille des tables et du nombre d'utilisateurs ?
Merci pour vos avis !
Partager