IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Access Discussion :

Comment duppliquer une table access dans une table liée ?


Sujet :

Access

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Comment duppliquer une table access dans une table liée ?
    Bonjour!
    Gros soucis.. Quelqun peut il m'aider?
    J'ai une base programme a un endroit, et une base data (liée) a un autre endroit.
    Je chercher à copier une table de la base data liée dans la base data liée.
    ex T_Trucmuch => T_Trucmuch_n-1
    La copie doit comprendre structure de la table et données, bien sur...
    Quelqun a t'il la reponse? mici ^^
    Fabien

  2. #2
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2006
    Messages : 46
    Points : 56
    Points
    56
    Par défaut
    si ta table est déja lier dans la nouvelle base de données tu fai copier coller du lien il te proposeras de copier soit la structure soit les données et le structure.

    si ta table n'est pas lier il existe une commande importer... dans fichier/données externe.

    tu peu aussi normalement passer par une requête ou mieux une instruction sql parce que les requêtes peuvent générer des erreurs sur les tables liées.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 64
    Points : 58
    Points
    58
    Par défaut
    Bonjour,

    manip 1 fois :
    Une requête SQL via l'assistant
    Requête/Requête Création de Table, puis donne le nom de la table, coche "Autre base de données", indique le chemin ...

    manip n fois :
    Par module :
    SELECT TableDepart.* INTO TableArrivee IN 'G:\Access\BaseTest.mdb' FROM TableDepart;

    Cordialement.

  4. #4
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Precision
    En fait, je fais une "copie de sauvegarde", si on veut
    La table t_trucmuch_n-1 est une sauvegarde de t_trucmuch avant changement d'année
    Les deux tables doivent etre dans la base data liée
    Donc, ca se déroule ainsi :
    1 : Je supprime l'ancienne table t_trucmuch_n-1
    2 : Je fais une de la table t_trucmush en l'appelant t_trucmuch_n-1

    Le but de cette copie est de ne pas avoir de problem de cohérence de champ en cas de changement de propriétés de la table t_trucmush

    Merci pour vos deux premieres reponses

  5. #5
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2006
    Messages : 46
    Points : 56
    Points
    56
    Par défaut
    si il faut le faire une fois par ans je pense que le mieux est encore de le faire manuellement ca t'éviteras des lignes de codes complexes pour peu d'utilisation.

    c'est néanmoins possible de le faire via du sql avec

    drop table "nom de l'ancienne table a supprimer"

    SELECT * INTO "nom de la table de destination"
    FROM "nom de la table d'ou proviennent les informations"

    tu met ces deux requêtes sql dans deux lignes d'une macro et ca devrai faire ce dont tu as besoin.

    si tu veu éviter les messages access dans la macro tu met avertissements à faux avant ces deux lignes et à vrai après.

  6. #6
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Ouais mais justement, c'est pour que ca ne soit plus manuel que je le fais comme ca.. Les utilisateurs ne doivent pas toucher a la base.
    Ils doivent juste cliquer sur le bouton qui fait le traitement en question.
    Ca, c'est juste la sauvegarde de la table avant traitement pour pouvoir recup les anciennes données en cas de plantage (sait on jamais...)
    Le seul probleme est que ce couillon d'access me copie la table de la base programme (c'est a dire la table "liée" et non la table source) dans la base data....
    Moi j'veux qu'il copie la table t_trucmusch de la table base en t_trucmuch_n-1 dans la base data aussi, le code devant etre dans la base programme
    Base programme sur le poste client, et basa data sur le serveur
    (BEn ouais, sinon c point drole...)

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 64
    Points : 58
    Points
    58
    Par défaut
    Si je fais la synthèse :
    Tu as 2 bases : BasePG et BaseDT.
    Tu veux faire une sauvegarde annuelle via un bouton.
    Ta Table, dans la BaseDT, peut s'appeler (année)EnCours.
    La Table Encours est attachée dans BasePG.
    La Table sauvegardée peut s'appeler Annee_AAAA et se trouve dans BaseDT.
    En fin d'année (ou en début), en cliquant sur le bouton :
    1° Déterminer l'année à sauvegarder (année en cours si tu es en décembre ou année-1 si tu es en janvier)
    2° Créer la Table de sauvegarde : DoCmd.RunSQL("SELECT Encours.* INTO Annee_200x IN 'G:\Appli\BaseDT.mdb' FROM Encours;")
    3° Purger la Table "courante" Encours : DoCmd.RunSQL("DELETE Encours.* FROM Encours;")
    4° Prévenir l'utilisateur que c'est fait (msgbox) ... ;+)
    L'avantage d'avoir une base "Encours" est que tu peux baser toutes tes requêtes dessus sans te préocuper de l'année en cours dedant. Les sauvegarges et/ou les restaurations en sont facilités.
    Cordialement.

Discussions similaires

  1. Utiliser une variable comme nom de table Access dans une requête SQL
    Par stsym dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/10/2011, 17h11
  2. Réponses: 8
    Dernier message: 26/03/2010, 08h16
  3. comment insère-t-on une table access dans une form de vb6
    Par sat05 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 07/09/2008, 19h09
  4. Réponses: 0
    Dernier message: 21/04/2008, 19h08
  5. Réponses: 11
    Dernier message: 20/03/2007, 00h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo