Tranferer des données d'une base a une autre dans

niala90 Messages postés 3 Date d'inscription samedi 12 janvier 2008 Statut Membre Dernière intervention 15 mai 2009 - 15 mai 2009 à 16:33
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 15 mai 2009 à 20:21
Bonjour,
j'ai une question concernant le transfert de données entre deux bases  ACCESS 2003.
voici mon probleme:

je veux recuperer des informations d'une table (baseN°1)  dans un module  (BaseN°2) sachant que les deux sont ouvertes.
J'essai par la methode des tables liées mais j'ai un message d'erreur comme quoi je ne peut pas ouvrir la table car la base est ouverte.
Pouvez-vous m'aider?

5 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
15 mai 2009 à 16:57
Salut Essaye cette syntaxe :
Dans ce cas, la DB dont on extrait les données est fermée, pas la peine de l'ouvrir.
Cette requète me servait à transférer le contenu de tables identiques d'une DB à l'autre, mais le principale est dans l'usage de
          "  from Message_Clients in 'fichier'
Teste :
    SQL = "Insert Into Message_Clients " & _
          "      (Date_Heure, qui, Message, Vu) " & _
          "Select Date_Heure, qui, Message, Vu " & _
          "  from Message_Clients in 'C:\mon réertoire\monAutreDB.MDB'"
    DB.Execute SQL

DB étant ma connexion ADODB

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

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
15 mai 2009 à 17:06
Excuses, c'est l'inverse :
C'est la DB actuelle qui est refermée et la nouvelle DB de destination est ouverte pour accepter les enregistrements.
0
niala90 Messages postés 3 Date d'inscription samedi 12 janvier 2008 Statut Membre Dernière intervention 15 mai 2009
15 mai 2009 à 17:24
Merci ca devrais fonctionner!
Mais petite question juste a titre informatif.
C'est le from qui permet d'ouvrir la requette n'est-ce pas?
Alors est-il possible avec ce from  de recuperer la valeur d'une variable dans un module qui est d'ailleur deja ouvert
0
niala90 Messages postés 3 Date d'inscription samedi 12 janvier 2008 Statut Membre Dernière intervention 15 mai 2009
15 mai 2009 à 17:55
Je viens d'essayer et enfaite le resultat obtenu avec ce code:

Dim Affaire
Dim base As DAO.Database
Set base = OpenDatabase("C:\bd1.mdb")


 


Affaire = "Insert Into table " & _
          "      (valeur) " & _
          "Select table " & _
          "  from table in 'C:\bd1.mdb'"
    base.Execute Affaire

Il me duplique les lignes et copie la valeur

Moi ce qui m'intresse c'est de recupere cette valeur.

Est-ce possible?

Merci d'avance
0

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

Posez votre question
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
15 mai 2009 à 20:21
Re
Le From est une syntaxe SQL qui permet de désigner la, ou les, tables desquelles on va extraire les données.
"recuperer la valeur d'une variable dans un module" : je ne saisis pas ce que tu veux dire : définition de 'variable' et de 'module' ?
"Il me duplique les lignes et copie la valeur" : Oui, c'est ce que tu demandais dans ta question originale
"c'est de recupere cette valeur" : Quelle valeur ?

Dans ta requète Affaire, le Select doit désigner un champ et pas une table
N'appelle jamais les objets comme leur type, exemple table : tu risques d'avoir des surprises un jour.
Si tu ne veux que lire/extraire des données d'une table, il te suffit de faire une requête Select simple et la donner en pâture à un RecordSet, puis de scanner les résultats dans RecordSet pour isoler un des champs parmi les lignes reccueilies.

Si tu ne sais pas comment faire, commence par charger quelques codes du site qui parlent de RecordSet + l'aide de VB, bien sûr

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

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Rejoignez-nous