Hello,
pour répondre aux questions
"J'ai essayé de la faire fonctionner sur mon PC, mais ça n'a pas marché : je ne peux pas ouvrir ton fichier access, probablement pour une question de version d'access, et après avoir tenté de remplacer ta DB access dans la macro par ma DB access, ça ne marche pas (débogage)."
Effectivement la chaîne de connexion était pour un base ".mdb". Ma base exemple était une base ".mdb", avec une extension ".accdb" (je n'ai pas ACCESS sur mon PC). En renommant la base ".mdb", tu pourras probablement l'ouvrir avec ACCESS.
Au niveau du chemin, si je comprends bien, ta macro va chercher la DB access située dans le même répertoire que le fichier excel, n'est-ce pas? Donc si je place le fichier excel et la DB access sur le bureau, ça devrait fonctionner, non?
C'est bien ça, dans la nouvelle version, le chemin de la base est dans la feuille Excel, donc plus de problème
Et ça devrait fonctionner même avec Acess fermé, n'est-ce pas? ou dois-je laisser access ouvert?
Confirmation : la base ACCESS peut être fermée
Aurais-tu des conseils concernant ma problématique visant à gérer environ 30 millions d'enregistrements avec plusieurs fichiers excel qui vont puiser dans la DB access en simultané?
Avec l'architecture mise en place : la base peut être sur un serveur partagé, le fichier Excel également.
Une base de données est faite pour gérer des accès simultanés, sans problème d'accès concurrent.
Quant au fichier Excel, il ne fait que de la lecture dans la base ACCESS, il peut donc être partagé, ou même en lecture seule. Personne n'a besoin de le modifier (c'est une architecture client/serveur)
Les 30 millions d'enregistrements sont dans la base ACCESS, les fichiers Excel ne contiennent aucune donnée (cf fichier Excel en exemple : juste qq ko, alors que la BDD peut atteindre 1 ou 2 Go).
Heu... Je ne sais pas pourquoi mais j'ai toujours cru que ce n'est pas une bonne solution !
Un avis "éclairé" ??
Aucun problème de déposer une base de données sur le bureau pour un usage personnel.
Par contre, dans une entreprise, cela n'a aucun sens.
Une base de données est faite pour être partagée, donc hébergée sur un serveur dédié. Tous les utilisateurs doivent y accéder, ils ne vont donc pas accéder à ton bureau (de toute façon le bureau est privé, non accessible aux autres utilisateurs).
Second point : une BDD a généralement un volume important, le bureau n'est pas fait pour stocker des gigas de données
Troisième point : la BDD est très critique, et doit donc être sauvegardée régulièrement. Dans une entreprise, les serveurs sont backuppés, les versions historisées, etc. Le bureau d'un utilisateur lamba ne contient rien d'important, le niveau de sécurité assuré n'est pas le même.
Je pourrai en écrire des pages, mais m'arrêterai ici.
En un mot : une architecture deux tiers, avec une BDD et des clients (Excel, C#, ou tout autre client) est ultra puissante.
Bouben