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

VBA Access Discussion :

Rafraichir une table liée après modification des liaisons


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 45
    Par défaut Rafraichir une table liée après modification des liaisons
    Bonjour à tous,
    J'ai une bdd avec backend répliqué et frondend.
    De la base frontend, je peux par simple clic sur un bouton passer de la base backend à sa réplication et inversement (ou via le gestionnaire de tables liées).
    Néanmoins, lorsqu'une table est ouverte (vue normale sur la frontend) et que je bascule de la backend vers sa réplication (ou l'inverse), je suis obligé de fermer la table et la rouvrir pour que les liens soient correctes (sinon, access continue a écrire sur la base backend anciennement liée).
    Pour faire cela dans les formulaires, facile ! Il suffit de mettre à jour la source du recordset mais pour les tables, il n'y a pas l'air d'avoir de recordset créé par défaut à l'ouverture de la table afin de le mettre à jour.
    Avez vous une idée de comment mettre à jour les liens de la table ouverte, avec du code vba, sans avoir besoin de fermer puis rouvrir les tables.
    Merci à tous
    Damien

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 131
    Par défaut
    Bonjour,

    Normalement il te faut faire un refresh du tabledefs après changement de liens.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    currentdb.tabledefs.refresh
    puis peut-être un requery de la table.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre averti
    Inscrit en
    Août 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 45
    Par défaut
    Merci de ta réponse Loufab.
    J'avais déja essayé, j'ai réessayé après ta réponse pour en etre sur mais cela ne résoud pas le probleme, je m'explique :
    La commande refreshlink rafraichi bien la table en elle meme et ses liens mais pas la table ouverte, "image" de la table à l'instant t.
    La Docmd.requery, elle, rafraichi la table ouverte mais pas ses liens, ce qui fait que mes formulaires ouverts (ayants des liens avec la "vrai" table) vont chercher les données sur la table avec les liens de la nouvelle base après le refreshlink et le requery et la table ouverte se met à jour avec les nouvelles données mais de l'ancienne base et non de la nouvelle.
    Si tu as une idée, elle sera la bienvenue.
    Merci
    Damien

  4. #4
    Expert confirmé
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Par défaut
    Bonjour,

    Et pourquoi pas fermer toutes les tables, changer les liens et réouvrir le formulaire. Ceci résoudrait ton pb.

    Pour moi c'est logique que les tables ouvertes ne changent pas leurs liens.

    Dolphy

  5. #5
    Membre averti
    Inscrit en
    Août 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 45
    Par défaut
    Et bien c'est bien plus compliqué !
    Il faut lister toutes les liées tables ouvertes, les inscrires dans une table locale, les fermer, relier les tables à la nouvelle base, et rouvrir toutes ces tables puis vider la table locale.
    Je trouvais beaucoup moins long de rafraichir chaque table ouverte... comme je le fais avec mes formulaires.
    Mais si bien sur il n'y a pas de solution à mon probleme, je n'aurais pas vraiment le choix !
    Donc si quelqu'un a la solution, elle est la bienvenue.

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 131
    Par défaut
    Pour les tables ouvertes il faut effectivement les refermer.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

Discussions similaires

  1. Une table log Formulaire modification des utilisateurs
    Par pasb71 dans le forum VBA Access
    Réponses: 5
    Dernier message: 22/07/2011, 06h30
  2. Réponses: 8
    Dernier message: 03/02/2009, 09h07
  3. Rafraichir une table liée à un fichier
    Par amauryxiv dans le forum VBA Access
    Réponses: 4
    Dernier message: 14/12/2007, 14h09
  4. Réponses: 8
    Dernier message: 30/08/2006, 16h22
  5. Rafraichir une iframe 1 après modification d'une iframe2
    Par MASSAKA dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/10/2005, 11h47

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