|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||
|
Membre actif
![]() Quentin D.Étudiant Inscription : avril 2011 Messages : 175 ![]() |
Bonjour à tous,
Alors j'ai juste un petit problème. J'utilise actuellement un code qui permet de transférer à partir d'access des données de classeurs excel. En fait le problème est que je voudrais avoir mon code dans un fichier access et mes bases de données à modifier dans une autre. Voici mon code : Code :
Code :
Code :
Code :
Merci d'avance pour vos réponses. |
||||||||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
Bonjour,
CurrentDb et CurrentProject travaille sur la base ouverte. Même si le code est dans une bibliothèque. CodeDB et CodeProject travaille sur la base où est contenu le code. Une base principale ou une bibliothèque. Si tu souhaites utiliser une db particulière tu as tout intéret à la mettre en variable globale dans la base principale. Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#3 |
|
Membre actif
![]() Quentin D.Étudiant Inscription : avril 2011 Messages : 175 ![]() |
Je ne suis pas sûr de comprendre...
J'ai 2 base de données : - code.accdb où se trouve uniquement un module avec mon code dedans. - maBase.accdb où se trouve plusieurs tables sur lesquels j'aimerais importer des données excel. Que mettre à la place de currentDB.execute, currentDB.TableDefs, etc...? J'explique pourquoi j'ai besoin de cela : J'utilise un fichier batch qui fait appel à ma base de données. Lorsqu'elle s'ouvre un autoexec se lance et lance le programme. J'aimerais séparer les 2, DB et code, pour ne pas, à chaque fois que j'ouvre ma DB, lancer le programme. Comment puis-je faire ? |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
Attache simplement tes tables ACCESS dans ton fichier Code.
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#5 |
|
Membre actif
![]() Quentin D.Étudiant Inscription : avril 2011 Messages : 175 ![]() |
C'est déjà le cas...Et j'essaye justement de les séparer...
|
|
|
00
|
|
|
#6 | |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
Citation:
Cela n'empêche pas le fichier contenant les tables de contenir du code. Pour ton fichier programme (qui contient les attaches) cela reste transparent (pas d'exécution, pas de visibilité de celui-ci). C'est plus souple de travailler avec des attaches. Si tu ne souhaites pas exécuter ton autoexec, utilise la touche shift au démarrage ou envoie lui un paramètre via le cmd dans la ligne de commande (voir mon tuto sur les options de la ligne de commande). Est-ce que cela répond à ta question ?
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
|
00
|
|
|
#7 |
|
Membre actif
![]() Quentin D.Étudiant Inscription : avril 2011 Messages : 175 ![]() |
Ok je pense que j'ai compris.
Je résume au cas où ^^ : J'ai un fichier code dans lequel, j'ai des attaches aux tables du fichier base ainsi que le code d'origine(celui que j'ai dans mon premier post). La macro autoexec se trouve dans le fichier code ou dans le fichier base? J'imagine dans le code, puisque je voudrais justement l'avoir dedans. Je viens de regarder ce lien pour les attaches : http://office.microsoft.com/fr-ch/ac...27658.aspx#BM3 Le problème est qu'il faut attacher des tables apparemment déja existante. Dans ma base de données j'ai en fait une série de tables ayant comme nom des numéro à 4 chiffres (ayant toute la mm structure, cad : noms des champs, nombre de champs et clé primaire), 3 tables spécifiques de structures toutes différentes, une table source. La table source est juste une table ayant la mm structure que les tables numéros, mais qui me permet de créer de nouvelles tables. En effet, je copie la structure de la table source pour créer une nouvelle table numéro si le nom du classeur excel à importer n'existe pas encore dans ma DB. Est-ce que si je met ma table source en attache, les autres tables crées seront aussi en attache, ou dois-je le faire manuellement ? Et du coup est-ce que les données seront importées correctement si mon code n'est pas dans mon fichier base? |
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
Bonjour,
Non si tu crées une table elle le sera dans le fichier contenant le code. Il faut explicitement la créer dans la base distante.
Une table attachée a les mêmes propriétés qu'une table locale. La seule chose qu'on ne peut pas faire c'est les relations d'intégrités. Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#9 |
|
Membre actif
![]() Quentin D.Étudiant Inscription : avril 2011 Messages : 175 ![]() |
Bonjour,
J'ai fait quelques tests pour voir ce que je préfèrerais faire. Je pense donc mettre mon code avec ma tablesource dans le fichier de mes attaches. Je pense plutôt créer mes tables dans ma base d'attache et ensuite les exporter vers ma base, puis créer une attache. Je vais voir si tout ceci exsite en code VBA access, sinon une petite (ou une grosse ^^) aide serait la bienvenue. Merci déjà pour vos réponses et pour votre aide. |
|
|
00
|
|
|
#10 | ||
|
Membre actif
![]() Quentin D.Étudiant Inscription : avril 2011 Messages : 175 ![]() |
Rebonjour,
J'ai trouvé une méthode plutôt efficace pour faire ce que je veux, je la met ici, et j'attends votre avis pour mettre la discussion en résolu : Code :
|
||
|
|
00
|
|
|
#11 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
Parfait !
Il ne manque plus qu'à mettre les chemins en variable et d'inclure le code d'une fenêtre Ouvrir fichier (dispo dans la faq) pour que ton appli soit pratique. Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
Copyright © 2000-2012 - www.developpez.com