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 :

[Système][03]MAJ BD access à partir d'une autre BD Access


Sujet :

Access

  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 119
    Points : 52
    Points
    52
    Par défaut [Système][03]MAJ BD access à partir d'une autre BD Access
    bonjour,

    voilà mon soucis : j'ai une ancienne BD (BD1), qui a été modifiée entierement(BD2).
    dans la BD2, les noms de champs ne sont plus les memes, les types non plus (des champs numeriques sont passés en texte et inversement - ce qui pourra eventuellemnt etre remis en place), et les tables elles-memes n'ont plus la meme structures (les champs ont changé parfois de table...).

    hors, ma BD1 et liée à d'autres fichiers(cartographie), et donc cela demande un travail important pour mettre la BD2 en lien au lieu de la BD1 (d'autant plus que je n'ai pas créé ces fichiers, et vu la quantité ça risque d'etre long pour tout retrouver )

    Pour l'instant, il serait donc plus facile pour moi que les utilisateurs mettent à jour la BD2, et que je fasse une moulinette pour mettre à jour ma BD1 (à la fermeture de la BD2 par exemple), ou inversement.


    Quelqu'un pourrait-il m'indiquer les étapes à suivre, et les éventuellement les codes qui pourrait m'etre utile?

  2. #2
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    C'est quasiment mission impossible ce que tu demandes à un forum là !!

    Si je résume, tu dis :
    Tout change, mais il faut mettre à jour.
    Comment ?

    waw ! (aucun rapport avec vista )

    Bon, déjà, au vu des informations que tu nous as fournies, si tu veux que tes utilisateurs interviennent sur ta BD2, tu devrais partir du principe que ta BD1 doit gicler.
    Donc, hors de question de mettre à jour BD1 en partant de BD2
    Par contre, une mise à jour "one-shot" des données de BD1 dans BD2 doit être réalisable par le biais d'une (grosse) série de requêtes d'action (Ajout / Mise à jour).
    Pour les liens, c'est pas trop compliqué. Affiches les tables système (Outils / Options) et ouvres la table MSysObjects. Tu verras l'ensemble des liens à refaire dans ta BD2

    Dernier conseil : bon courage

  3. #3
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 119
    Points : 52
    Points
    52
    Par défaut
    pour commencer, merci pour cet éclairage!!!!

    par contre, pourrait-tu développer un peu sur ce MSysObjects. comment je recrée ces lien dans la BD2? j''ai cru comprendre dans la faq qu'on ne pouvait pas recréer ces liens...et puis si je met à jour mes tables de la BD2, je n'ai pas besoin des requetes et des form de ma BD1 (la seule chose en plus qui soit visiblement identique entre les deux BD!)? enfin y a un truc qui m'échappe là...(peut-etre qu'après avoir passé la nuit à m'en inquiéter je comprendrait qui sait... )

    en fait plus j'y reflechi plus je voit les choses de cette maniere :
    • j'importe mes tables de la BD1 avec un truc du genre
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Docmd.Transfertdatabase actable, nomtable
    • j'efface les relation de ma bd2 pour ne pas etre géné dans la mise à jour (je ne sais pas si c'est vraiment utile???)

      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      Function xDropRelations() 'efface toutes les relations
      'Dim rel As Relation
       
      '   For Each rel In CurrentDb.relations
      '        Debug.Print "effacement de la relation [" & rel.Table & "]![" & rel.Fields(0).Name & "] -=->" _
                               & "[" & rel.ForeignTable & "]![" & rel.Fields(0).ForeignName & "]"
      '        CurrentDb.relations.Delete rel.Name
      '   Next rel
       
      End Function
      (j'avais trouvé ça sur developpez.com si je me rapelle bien... )

      c'est peut-etre là qu'il faudrait plutot créer mes liens MSysObjects?
    • je fais mes requetes de mise à jour
    • je ferme les tables liées de ma bd1
    • je recrée les relations de ma BD2



    évidemment comme je manque un peu de pratique, je me dit qu'il y a forcement quelque chose qui va clocher dans cette histoire...enfin, demain je me lance, et j'espere pouvoir venir mettre le tag "résolu" très rapidement.


    au passage, dans quelques mois la BD1 est bien vouée à disparaitre, mais en attendant, il y a des modif quotidienne à faire sur la BD2 par les utilisateurs, BD2 qui est lié à internet. hors celle-ci ne peut pas etre lié à la carto sans gros changements, qui ne seront effectués que dans quelques mois...donc faut bien une solution temporaire...malheureusement pour moi...

Discussions similaires

  1. [AC-2003] Update d'une colonne a partir d'une autre table access
    Par Jarod51 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 07/07/2011, 11h17
  2. remplir une table access à partir d'une autre table
    Par Nacera dans le forum VBA Access
    Réponses: 1
    Dernier message: 27/12/2010, 15h14
  3. Réponses: 4
    Dernier message: 09/07/2008, 14h05
  4. Réponses: 3
    Dernier message: 07/12/2006, 08h51
  5. Ouverture d'une base Access à partir d'une autre base access
    Par Julien Dufour dans le forum Access
    Réponses: 3
    Dernier message: 19/10/2005, 17h13

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