|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre actif
![]() Quentin D.Étudiant Inscription : avril 2011 Messages : 175 ![]() |
Bonjour à tous,
Je vous expose mon problème : J'ai un programme VBA Access qui me permet de prendre un fichier excel après l'autre dans un répertoire et de coller les données dans une table access. Je l'ai modifié pour pouvoir en fait lire le nom de ce fichier excel, lire le nom de ma table access et lorsque cela correspond, il importe bien les données dans la bonne table. Mon problème est que je n'arrive pas encore à parcourir les tables de ma base de données (en fait j'utilise ma base active). Voici le code : Code :
En fait j'aimerais parcourir les tables de ma base active. Mon second problème est qu'il faudrait (comme indiqué dans le programme) une 3ème condition dans mon If c'est-à-dire quand aucune des 2 conditions de lecture du nom de la table avec le nom du fichier n'est bonne : Créer une table pour y mettre les données. En fait je vais sans doute créer une table source qui servira de modèle avec plusieurs champs dont 2 qui formeront la clé et j'aimerais en créer une copie à chaque fois que mes conditions ne sont pas vérifiées et cette copie aura le nom du fichier.(sans le .xls de préférence) J'espère avoir été assez précis. Merci d'avance pour votre aide. Cordialement, Nitromard |
||
|
|
00
|
|
|
#2 |
![]() ![]() |
Salut,
l'objet que je te recommande plutot d'utiliser est CurrentDb
__________________
Pas de question technique par MP, je ne réponds pas ![]() Mon perso ? Une vraie brute Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access |
|
00
|
|
|
#3 | ||
|
Membre actif
![]() Quentin D.Étudiant Inscription : avril 2011 Messages : 175 ![]() |
Ok, j'ai tenté avec TableDefs, j'ai donc le programme :
Code :
J'ai alors l'erreur : Operation is not aloowed when the object is closed Sur la ligne en rouge dans le code. |
||
|
|
00
|
|
|
#4 |
![]() ![]() |
yep,
met ton .close dans ta boucle du dessus
__________________
Pas de question technique par MP, je ne réponds pas ![]() Mon perso ? Une vraie brute Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access |
|
00
|
|
|
#5 |
|
Membre actif
![]() Quentin D.Étudiant Inscription : avril 2011 Messages : 175 ![]() |
Ok super, j'ai encore un autre problème ^^.
Il faudrait qu'a la fin du parcours de mes tables, si aucune table ne correspond, créer une table avec le nom de la feuille excel.(table qui est une copie d'une table source) Comment faire ? En fait j'ai déja cette fonction : CurrentDb.Execute "SELECT * INTO [" & Fichier & "] FROM TableSource"Il faudrait que j'enlève le .xls a l'intérieur du nom de Fichier. Et le problème est que cette fonction ne me copie pas les clés primaires... |
|
|
00
|
|
|
#6 |
|
Membre actif
![]() Quentin D.Étudiant Inscription : avril 2011 Messages : 175 ![]() |
Au fait, j'ai aussi un problème au niveau des doublons, en fait j'aimerais pouvoir sauter l'erreur des doublons lorsqu'il en rencontre et ainsi continuer le programme normalement.
Donc qu'il me gère les doublons, sans me donner d'erreur et sans arrêter le programme... |
|
|
00
|
|
|
#7 |
![]() ![]() |
Peut-on traiter un probleme a la fois.
Ne nous eparpillons pas, je ne suis pas a ce point multi fonction
__________________
Pas de question technique par MP, je ne réponds pas ![]() Mon perso ? Une vraie brute Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access |
|
00
|
|
|
#8 | ||
|
Membre actif
![]() Quentin D.Étudiant Inscription : avril 2011 Messages : 175 ![]() |
Ok pas de problème, c'est déjà très gentil à vous de m'aider ^^!
Donc pour commencer il faudrait que le programme créé une nouvelle table(en la copiant d'une table déjà existante, où il n'y a que des champs et 2 clés primaires). J'ai déjà ce bout de programme qui fonctionne bien : Code :
Il faudrait que : Lorsque j'ai passé mes 2 conditions IF sur l'ensemble de mes tables, et que je n'ai pas mis à jour de tables déjà existante. Je crée une table portant le nom du fichier excel exploité. Mon probème est que je n'arrive pas à voir comment faire cette condition, je pensais faire quelque chose du genre : Si il n'existe pas de table portant le nom du fichier, alors créer une table avec le nom du fichier. Et aussi que lorsqu'il crée cette table, il y ait les clés primaires de la table source.(cad la table que j'ai copié pour la créer) |
||
|
|
00
|
|
|
#9 | ||
|
Membre actif
![]() Quentin D.Étudiant Inscription : avril 2011 Messages : 175 ![]() |
Bon j'ai trouvé une solution, par contre j'ai une erreur :
Type mismatch sur la ligne en rouge : Code :
|
||
|
|
00
|
|
|
#10 |
|
Membre actif
![]() Quentin D.Étudiant Inscription : avril 2011 Messages : 175 ![]() |
Bon j'ai trouvé mon erreur, c'était dans le nom d'un de mes fichiers Excel qui s'appelait : picmod - Copy.
Soit c'est l'espace qui posait problème, soit c'est le -, auriez-vous une solution pour que le programme accepte ce type de nom de fichier? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com