Exporter un module Access 97 [Résolu]

Signaler
Messages postés
36
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
22 novembre 2012
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
Bonjour,

Dans le but d'exporter les modules de différentes bases de données Access 97, j'ai créé un petit complément Access.

Cependant je rencontre plusieurs problèmes lors de l'export :
J'ai commencé par parcourir mes containers de type "Modules" afin d'exécuter la commande suivante :
DoCmd.TransferDatabase acExport, "Microsoft Access", dbName, acModule, dc.Name, dc.Name
j'obtiens l'erreur suivante : Erreur d'exécution '32813', La méthode 'TransfertDatabase' de l'objet 'IDoCmd' a échoué.
(le dc.Name a bien pour valeur "Module1" et db.name à bien pour valeur une base de données existante.) De plus, cette commande est utilisée quelques lignes au dessus pour exporter un état.

Ne trouvant pas de solution avec cette méthode, j'ai également essayé d'accéder aux modules via Application.Modules mais malheureusement, cette méthode liste les modules de mon complément et non ceux de la base de données ouverte.

Merci d'avance pour votre aide,

Kevin

5 réponses

Messages postés
36
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
22 novembre 2012

Pour Info, l'erreur venait de la création de la nouvelle base (cible). Elle était créée via la commande : Set dbTemp = ws.CreateDatabase(dbName, dbLangGeneral)
et en la remplacant par : DBEngine.CreateDatabase dbName, dbLangGeneral tout fonctionne correctement.
(je ne comprend cependant pas pourquoi le ws.CreateDatabase fonctionne pour l'export des états)
Messages postés
36
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
22 novembre 2012

Grosse erreur, la réponse précédente ne résoud absoluemnet pas le problème (logique). Le problème était simplement qu'Access refuse d'exporter un module dans une base portant le même nom (action cependant possible pour les reports, forms, tables...)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
76
Salut

Je ne connais pas ces objets, mais si tu dis l'utiliser au dessus, peut-être faut-il faire un Close du DoCmd avant de pouvoir le réutiliser (comme avec les RecordSet).

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
36
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
22 novembre 2012

Merci de ta réponse mais malheureusement le DoCmd.close ferme le projet courant, et même seule cette commande (ie transfertDatabase) ne fonctionne pas pour les modules
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
76
Où se trouve la ligne de commande dont tu parles par rapport au module que tu tentes d'exporter ?
Si la commande se trouve à l'intérieur du module, peut-être ne peux-tu pas l'exporter ...

Je viens de faire l'essai sous Access 2010 et, en effet, la copie du module dans lequel l'instruction est utilisée pose problème (bien qu'il fasse la copie quand même), mais avec l'erreur 29068 : "Microsoft Access ne peut achever l'opération. Vous devez interrompre l'exécution du code et recommencer."

dbName contient-il le chemin complet et le nom de la DB ?
Le nom du module source et destination (2 derniers paramètres) sont identiques ! Je ne pense pas que l'on puisse copier un module sur lui même.

Que représente "dc" ?