Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Copier une table Access d'une base de données à une autre


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Copier une table Access d'une base de données à une autre
    Bonjour,

    Je chercher à tranferer une table d'une base Access à une autre et j'ai beau chercher, je ne trouve pas de solution "propre"...

    Pour vous donner le contexte (et parce qu'il y a peut être une autre solution que la copie de table), au début, dans une requete SQL, je voulais récupérer un champ d'une table contenu dans une base de données externe en utilisant la clause IN qui permet (normalement) de déterminer la base de données externe. N'arrivant pas à trouve la "solution", je me suis rabattue sur l'idée de copier une table d'une base à l'autre...

    Une idée ?

  2. #2

  3. #3
    Futur Membre du Club
    Merci pour cette piste rapide !

    Dans l'aide sur la clause IN j'ai justement vu ceci :
    Pour des performances et une simplicité d'utilisation optimales, utilisez une table attachée plutôt qu'une clause IN.
    Est-ce qu'il s'agit de la même chose ? Je n'arrive pas à avoir des info sur ces fameuses tables attachées dans l'aide et assez peu sur le net. Tout ce que je trouve me dis comment mettre ma "table attachée" dans un recordset (ce que je sais faire) mais moi je voudrais utiliser, dans une même requete, deux tables, chacune dans une base différente.

  4. #4
    Membre éclairé
    Citation Envoyé par pc75
    Bonjour,

    Et en liant tes deux bases ?
    Pour simuler une requête avec jointures sur deux bases différentes, c'est la seule solution que j'ai trouvée, du moins avec des bases .mdb.

    Cela dit, une petite fonction de copie de table de base à base est tout à fait faisable en DAO.

  5. #5
    Membre éclairé
    Citation Envoyé par Marie S.
    Je n'arrive pas à avoir des info sur ces fameuses tables attachées dans l'aide et assez peu sur le net.
    Je pense que c'est uniquement faisable (la liaison) avec Access. Tu ouvres tes deux bases et tu peux en créer une virtuelle qui reprend l'intégralité (ou non) des tables de tes deux bases.

  6. #6
    Membre éclairé
    Citation Envoyé par Marie S.
    N'arrivant pas à trouve la "solution", je me suis rabattue sur l'idée de copier une table d'une base à l'autre...
    Un très bon exemple ici pour une copie de tables (structure + données, .mdb via DAO)

    http://support.microsoft.com/kb/108147/fr

  7. #7
    Membre expert
    Voici un petit extrait d'un code dans une de mes aplication qui fait çà
    C'est ecrit avec DAO, mais comme il s'agit derequete Sql, ca ne devrait pas trop poser de problème a transposer

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
      Set Dbse = OpenDatabase(BaseName)
      Dbse.Execute "Delete * from [Motifs Entrée]"
      Dbse.Execute "Insert into [Motifs Entrée] Select * from [Motifs Entrée] in '" & App.Path & "\Bases\Tables.mdb" & "' "
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  8. #8
    Futur Membre du Club
    Merci Delbeke !
    C'étaient ces satanés quotes autour du nom de la base qui me manquaient dans ma requete SQL !!!

    Mais bon au final j'ai choisi de faire une table liée : merci à tous !