Copier une table d'une BD vers une autre BD puis supprimer!

Signaler
Messages postés
576
Date d'inscription
samedi 14 octobre 2006
Statut
Membre
Dernière intervention
27 janvier 2014
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
Bonjour,

j'aimerai savoir comment copier une table (table1) d'une BD (BD1) vers une autre BD (BD2) (où existe une table1 que je voudrais supprimer tout juste avant la copie).

En fait cette opération me permettrait de mettre à jour la table1 de BD2 grâce en fonction de table1 de BD1.

Merci d'avance pour votre aide.

Cordialement.

4 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut
Pour faciliter la compréhension, tu aurais pu choisir des noms de tables différentes entre tes deux DB. Donc, dans les lignes ci-dessous, Table2 sera le nom de la table de DB2 (sinon, risque de confusion)
+ Quel type de DB ? Access, SQL Server ?

Une chose à la fois :
[*] DB2 : Tu veux vider la Table1 --> Crée une connexion (ADODB par exemple) à ta DB et exécute une simple requète SQL "Delete * From maTable"
[*] Transfert d'une table entière (ou partielle) d'une DB1 ouverte vers une DB2 fermée :
Syntaxe SQL à utiliser :
maRequete = "Insert Into Table2 " & _
            "      (monChamp1, monChamp2, ...) " & _
            "Select monChamp1, monChamp2, ... " & _
            "  From Table1 In '" & monFichierDB2.MDB & "'"

avec un éventuel Where si tu ne dois pas transférer la totalité de la table.

Ces deux exemples n'utilisent pas de RecordSet mais une commande .Execute directement sur l'objet de connexion à la DB, genre ADODB.Connection

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
576
Date d'inscription
samedi 14 octobre 2006
Statut
Membre
Dernière intervention
27 janvier 2014
2
Bonjour jack et Merci pour ton aide. Je suis désolé de n'avoir pas donné cette information : j'utilise Access 2003. La DB1 et DB2 sont toutes ouvertes. Penses-tu que cela puisse marcher? J'ai repris ta requête mais malheureusement je suis bloqué à la dernière ligne

" From Table1 In '" & C:\cheminbd\DB2.mdb & "' "

il m'affiche l'erreur :

Erreur de compilation :
Attendu : numéro de ligne ou étiquette ou instruction ou fin d'instruction


Puis il me met
\
en surbrillance.

Peux-tu m'aider s'il te plaît?

Merci d'avance.

Cordialement.
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
31
Salut,

Essaye ceci:
Dim MDB As String
MDB = "C:\cheminbd\DB2.mdb"

maRequete = "Insert Into Table2 " & _
" (monChamp1, monChamp2, ...) " & _
"Select monChamp1, monChamp2, ... " & _
" From Table1 In '" & MDB & "'"

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
C'est sûr, si tu as mis
" From Table1 In '" & C:\cheminbd\DB2.mdb & "' "
tel quel sur une ligne, il y a un problème ...