Problème pour copier une table d'une base vers une autre avec Docmd.copyobject

Résolu
cs_Famas54 Messages postés 59 Date d'inscription mardi 12 septembre 2006 Statut Membre Dernière intervention 21 août 2009 - 30 juin 2008 à 13:28
stefbol Messages postés 2 Date d'inscription samedi 3 janvier 2009 Statut Membre Dernière intervention 14 juillet 2009 - 22 juil. 2009 à 23:02
Bonjour,

Je tente de mettre en place le moyen de copier une table "table_stockage_nvnoind" vers une base de données externe le tout sous un bouton évènement Onclick.

Voici la ligne de code censée faire la copie vers la base externe:

Docmd.copyObject acOutputTable, "table_stockage_nvnoind" , , "u:\dept\stage\essaibase2.mdb"

Lorsque cette ligne est rajoutée et exécutée Access m'affiche l'erreur suivante:

"The object type argument for the action or method is blank or invalid."

Je n'arrive pas à éviter cette erreur, pourriez vous m'éclairer concernant la synthaxe envisageable pour copier cette table de cette manière?

Merci

12 réponses

LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
1 juil. 2008 à 14:59
copyobject est une Méthode et pas une Fonction.
Donc pas de parenthère.Il faut juste un espace
après Copybject.
Si c' était une fonction tu devrais écrire
Monvar=copyobject(....)

Essaies donc
Docmd.copyobject "u:\dept\stage\essaibase2.mdb", "table_stockage_nvnoind",acTable,
"table_stockage_nvnoind"

<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
3
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
30 juin 2008 à 13:53
Salut,
Salut,
il s' agit probablement de l' argument non spécifié dans
Docmd.copyObject acOutputTable, "table_stockage_nvnoind" , , "u:\dept\stage\essaibase2.mdb"


Je ne sais pas ce que tu dois mettre comme argument après
"table_stockage_nvnoind" , ICI ,


Personnellement pour copier une table vers une base externe,
mon expression sql se présente ainsi:
"INSERT INTO Table_Destination IN " & _Chemin_Base_Externe &  _
"SELECT * FROM Table_Source;"





<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
30 juin 2008 à 14:00
Suggestion:
Docmd.copyObject acOutputTable, "table_stockage_nvnoind" ,acTable , "u:\dept\stage\essaibase2.mdb"

ou bien

Docmd.copyObject acOutputTable, "table_stockage_nvnoind" ,acQuery , "u:\dept\stage\essaibase2.mdb"
<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
30 juin 2008 à 14:03
si tu as SQL server 2005 express utilises 'DTSWizard.exe'
avec ça tu passes d'une base à une autre quel que soit le format source ou destination !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Famas54 Messages postés 59 Date d'inscription mardi 12 septembre 2006 Statut Membre Dernière intervention 21 août 2009 2
30 juin 2008 à 15:52
Merci pour vos réponses, visiblement le problème était le manque du renseignement ,acTable ,  .

Maintenant nouveau probléme, il semble ne pas reconnaître le chemin de la base externe en .mdb avec comme message d'erreur:

"Microsoft office Access can't find the object" j'ai pourtant revérifié mon adresse un bon paquet de fois je ne vois vraiment pas ce qui cloche à ce niveau.
 
Le fichier peut être difficile d`accès pour le programme du fait que les fichiers sont dans deux répertoires distants  (mais sur le même disque) ou le problème pourrait être tout autre?

ps: Je dois absolument lancer cette commande via un bouton car je travail sur une base access dans une banque et de ce fait, je ne suis pas autorisé à apporter des changements sur le fonctionnement général de la base et à utiliser des programmes annexes.
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
30 juin 2008 à 16:13
Apparament ,DestnationDataBase vient en premier.
Tapes :
Docmd.copyObject
puis <espace>, la liste des arguments s' affichera,
avec tout ce qu' il faut pour s' y retrouver.

<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
cs_Famas54 Messages postés 59 Date d'inscription mardi 12 septembre 2006 Statut Membre Dernière intervention 21 août 2009 2
1 juil. 2008 à 09:40
Voici ma ligne de code actuelle, modifiée selon ce que LIBRE_MAX m'a suggéré:

Docmd.copyobject ([u:\dept\stage\essaibase2.mdb],[table_stockage_nvnoind],[sourceobjecttype as acobjecttype = acdefault],[table_stockage_nvnoind])

Mon problème est que je ne vois pas vraiment comment renseigner la partie rouge, je pense être bon pour le reste du code.
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
1 juil. 2008 à 13:34
Salut,
il suffisait simplement de lire attentivement la description de l' argument.
sourceobjecttype as ==> type de l' objet source
Dans ton cas c' est une table ==> acTable (comme donné précédement)

<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
1 juil. 2008 à 13:39
tu remarquera que si l' argument n' est pas renseigné, il prendera la valeur par defaut acDefault.Perso je ne sais pas ce qu' elle type c' est "le par default"..Or ceci ne correspond pas au type de ton objet reel,à savoir une table.
Essaies donc:
Docmd.copyobject ([u:\dept\stage\essaibase2.mdb],[table_stockage_nvnoind],[acTable],[table_stockage_nvnoind])

<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
cs_Famas54 Messages postés 59 Date d'inscription mardi 12 septembre 2006 Statut Membre Dernière intervention 21 août 2009 2
1 juil. 2008 à 14:42
Merci pour ces explications concernant le besoin de renseigner la nature de l'objet utilisé.J'ai bien compris l'idée et j'ai modifié mon code selon ce que tu proposes mais visiblement selon l'erreur qui survient aprés la modification (Compile error Expected : "")  il semble vouloir quelque chose qui suivrait le format suivant: SourceObjectType as AsObjectType AcDefault donc dans mon cas quelque chose comme SourceObjectType as AsObjectType = AcTable mais je ne vois pas  comment renseigner les paramètres SourceObjectType et AsObjectType 
0
cs_Famas54 Messages postés 59 Date d'inscription mardi 12 septembre 2006 Statut Membre Dernière intervention 21 août 2009 2
2 juil. 2008 à 10:45
Exact, le tout fonctionne parfaitement maintenant, merci beaucoup pour ton aide.
0
stefbol Messages postés 2 Date d'inscription samedi 3 janvier 2009 Statut Membre Dernière intervention 14 juillet 2009
22 juil. 2009 à 23:02
Bonjour, je voudrais aussi copier une table dans une autre db. Est ce que tu pourrais m'envoyer ton code, cela m'aiderait.

merci
0
Rejoignez-nous