Manipulation de tables entre deux fichiers mdb

Manipulation de tables entre deux fichiers mdb - VB/VBA/VBS - Programmation

Marsh Posté le 13-05-2004 à 10:28:00    

Je travaille sous access VBA actuellement et je cherche à faire un copier/coller de table entre deux bases de données (entre deux fichiers .mdb) et là je ne m'en sors pas (je sais je ne suis pas doué). QQun aurait il une suggestion ?
 
Merci  :??:  :hello:


Message édité par cakeman le 13-05-2004 à 10:31:41
Reply

Marsh Posté le 13-05-2004 à 10:28:00   

Reply

Marsh Posté le 13-05-2004 à 10:29:16    

Change de titre si tu veux une réponse.
 
Toutes les questions sont importantes et urgentes.

Reply

Marsh Posté le 13-05-2004 à 10:32:24    

j'espère que mon titre sera maintenant plus clair :)

Reply

Marsh Posté le 13-05-2004 à 10:34:16    

cakeman a écrit :

j'espère que mon titre sera maintenant plus clair :)


 
Je ne connais pas la réponse, mais tu as toutes les chances d'en avoir une maintenant...  :jap:

Reply

Marsh Posté le 13-05-2004 à 10:37:23    

Import dans la base locale d'Access :

Code :
  1. DoCmd.TransferDatabase acImport, "Microsoft Access", strCheminEntree, acTable, nomTableACopier, nomTableLocaleDestination


 
Export

Code :
  1. DoCmd.TransferDatabase acExport, "Microsoft Access", strCheminSortie, acTable, nomTableLocaleACopier, nomTableDestination


Reply

Marsh Posté le 13-05-2004 à 10:55:18    

swgreedo a écrit :

Import dans la base locale d'Access :

Code :
  1. DoCmd.TransferDatabase acImport, "Microsoft Access", strCheminEntree, acTable, nomTableACopier, nomTableLocaleDestination


 
Export

Code :
  1. DoCmd.TransferDatabase acExport, "Microsoft Access", strCheminSortie, acTable, nomTableLocaleACopier, nomTableDestination




 
Effectivement mais je m'arrache les cheveux avec cette commande  :??:  
 
En effet: j'ai deux bases :
 
sDBTEMP = "E:\enquetes\si\dbtemp.mdb"
sDesktopDB = "E:\enquetes\si\sie_si_v4.mdb"
 
Et je souhaite importer dans la base sDBTEMP la table "AGE" qui se trouve dans la base sDesktopDB  
alors je fais fais la chose suivante:
 
j'efface la table AGE de la base sDBTEMP (je passe sur les détails)
 
sDrop = "DROP TABLE AGE"
Call ModuleGeneral.SQL_Execute_trans(db, sDrop)
 
Puis j'export la table AGE de sDesktopDB dans sDBTEMP  
 
DoCmd.TransferDatabase acExport, "Microsoft Access", sDBTEMP, acTable, "AGE", "AGE"
 
Le problème est le suivant
il efface bien la table mais lors de l'export, il remet les données de la table que je viens d'effacer et non celles de la base sDesktopDB  
(ne me demander pas comment j'en sais rien du tout  :ouch:  )

Reply

Marsh Posté le 13-05-2004 à 11:30:33    

As tu un exemple concret ou alors qqun a t il une autre suggestion ?

Reply

Marsh Posté le 13-05-2004 à 11:52:47    

Citation :

Le problème est le suivant  
il efface bien la table mais lors de l'export, il remet les données de la table que je viens d'effacer et non celles de la base sDesktopDB  
(ne me demander pas comment j'en sais rien du tout  :ouch:  )


Question bête : dans quel fichier .mdb se situe le module VBA dans lequel tu fais ton export ?


Message édité par swgreedo le 13-05-2004 à 11:53:22
Reply

Marsh Posté le 13-05-2004 à 11:56:36    

Dans un autre fichier : dev_si.mdb (mem répertoire)
Toutes les tables de sie_si_v4.mdb sont liées dans dev_si.mdb

Reply

Marsh Posté le 13-05-2004 à 14:23:09    

Si tu en as la possibilité, essaie de supprimer temporairement les liens entre tes tables et de faire successivement :
 - un import de la table AGE de sie_si_v4.mdb dans dev_si.mdb
 - un export de cette table de dev_si.mdb dans dbtemp.mdb
Personnellement c'est comme ca que j'ai procédé quand j'ai eu besoin de copier des tables et je n'ai pas eu de probleme.

Reply

Marsh Posté le 13-05-2004 à 14:23:09   

Reply

Marsh Posté le 13-05-2004 à 14:56:08    

En fait, je vais vider les tables de sDBTEMP pour les remplir avec le contenu de celle de sie_si_v4.mdb.
Pour moi ça me parait plus simple que de supprimer les liens vu le nombre de tables avec lesquelles je travaille.
Merci :)

Reply

Marsh Posté le 13-05-2004 à 16:24:11    

Bonne continuation  :hello:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed