Bonjour à tous,
j'ai développé un algo en VBA (Excel) qui:
-ouvre qq centaines de fichiers .txt
- y prend l'information souhaitée, réalise moults calculs
-ressort sous Excel une base de données (+ diverses statistiques calculées sur cette BdD)
Comme attendu, la solution VBA commence à montrer ses limites en termes de tps de calcul (la base ne fait que 10.000 lignes x 1.000 colonnes et je pense que, une fois arrivé à 50.000 lignes cela va être ingérable alors qu'in fine j'escompte qq centaines de milliers de lignes).
La solution VBA m'aura cela dit permis de formaliser mes besoins et développer l'algorithme.
Aussi ai je souhaité passer à une solution plus "professionnelle" mais qui reste du VB, seul langage que je pratique.
La conversion du code de VBA à VB Express 2010 est faite.
Constatations:
-le tps de manipulation des .txt est considérablement réduit par rapport à VBA
-Par contre le stockage de la BdD finale est problématique
a. En fin de calcul je stocke la BdD dans un .txt avec séparateurs
b. Au début de l'appel suivant je recharge la base de données en lisant ce BD.txt
Le hic est que lire ce txt prend plus de temps qu'il n'en fallait auparavant à Excel pour lire la feuille Excel qui stockait la base.
Je savais bien que la solution .txt ne serait que temporaire mais je ne m'attendais pas à ce qu'elle soit d'emblée moins performante que Excel.
Donc je passe dès maintenant à la solution Access (.mdb).
J'ai donc créé un morceau (pour tester) de BdD sous access (BD1.mdb), stockée en local sur mon disque dur.
Via l'interface VB Express, j'ai établi une connexion avec cette table depuis VB Express 2010 (Données/ Ajouter une source de données ..) et dans l'explorateur de données, je peux librement consulter cette base.
Pour les fichierx txt j'utilisais des méthodes StreamReader et OpenFile et je m'attendais à qch d'équivalent pour du .mdb mais apparemment non.
MAIS! Le hic est que je ne trouve pas la syntaxe exacte de la commande permettant de lire cette base dans mon projet VB Express ! Je tente tout ce que je trouve sur le net (ou dans un des code sources dispo sur le site) mais rien ne marche, certainement pour une question de syntaxe.
L'un d'entre vous pourrait -il me débloquer en me donnant la commande et sa syntaxe pour lire une base de données .mdb depuis VB Express, sachant que le lien est apparemment déjà fait depuis l'interface de VB Express?
(=dans l'explorateur de données, si je clic droit sur ma base et que je choisis "Modifier la connexion / Tester la connexion" alors il est indiqué que la connexion fonctionne)
Chemin de la base de données= C:\Users\b4ruk\Desktop\BD1.mdb
(Lorsque j'avancerai sur ce sujet je reviendrai régulièrement sur le forum et consulter les tutos car le projet est vaste et j'aurai certainement bcp d'autres points à élucider. Notamment sur la capacité de VB Express + Access à gérer correctement/rapidement des données du volume que j'anticipe in fine)
Ravi en tous cas d'être parmi vous , au plaisir de discuter et apprendre !
Partager