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 :

Code Pour "Gestions des tables liées"


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 83
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 46
    Par défaut Code Pour "Gestions des tables liées"
    Bonjour,

    Je suis en train de faire le Menu (switchboard) pour une base associative en relation avec une base internet.
    Je souhaiterai que l'utilisateur puisse mettre à jour la liaison d'une base Access avec un fichier Excel par une commande dans le Menu ou par l’intermédiaire d'une macro plutôt que par la barre d'outils ("Données externes - Gestionnaires de Tables liées") avec la recherche de l'emplacement du fichier "xls"
    Est-ce possible ?
    J'ai cherché dans la Faq, mais malheureusement je n'ai pas trouvé.
    Merci

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 415
    Par défaut
    Pourrais-tu préciser quelle version de Access tu utilises ?

    Ensuite, ce n'est pas une action 'standard' de Access donc tu ne trouveras pas dans les assistants quelque chose qui le fasse.

    Tu peux 'éventuellement' (mais je ne conseille pas vraiment) montrer à tes utilisateurs comment relinker une base via le gestionnaire de table liée.

    Sinon il faut faire une formulaire et un peu de code VBA qui va permettre cela.

    Comme la solution dépend en partie de la version je ne peux guère entrer plus dans les détails.

    Si tu veux faire des recherches par toi même cherche RefreshLink et une partie solution ne devrait pas être loin.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 83
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 46
    Par défaut
    Je travaille avec Access 2010, mais la base de donnée a été faites sous access 2003. Elle n'a pas été transformée sous la nouvelle version car certain utilisateurs utilisent toujours office 2003.

    Pour notre organisation, nous avons décidé que la base principale serait Access. La base du site Internet (règlement en ligne) serait secondaire pour les pb d'envoi bulletin et fiches fiscales. (95% des membres règlent par chèque)

    A partir d'access, nous faisons donc un export des données pour mettre à jour le site (fonction sql - phpMyadmin) et nous ressortons régulièrement les nouveaux inscrits à incorporer à la base access.
    Le fichier d'import se nomme ImportInternet.xls et comporte une bonne vingtaine de champs.

    Sous Access 2010 on aune barre d'outils dédiée au "Données extérieures" et on créé ainsi une Table liées avec le fichier Excel. Mais cette dernière nécessite une action de mise à jour, chaque fois qu'elle est modifiée. D'où ma question !

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 415
    Par défaut
    OK si ton fichier porte toujours le même nom et est toujours à la même place, fait un test avec cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public sub RafraichirExcel()
       dim db as dao.database:set db=currentdb
       db.tabledefs("NomTaTableLieeSurXls").refreshlink
       set db=nothing
    end sub
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 83
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 46
    Par défaut
    Je te remercie beaucoup, mais je ne suis pas assez calé; Je suppose qu'il me faut mettre ce code dans un module et que j'appelle ce module par un menu ??

    J'ai fait ainsi, mais j'ai une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    db.TableDefs("ImportInternet.xls\ImportInternet$").RefreshLink
    J'ai aussi testé en vain avec la même erreur "3265" lorsque je mets le chemin complet : ("c:\users\Phyl\Documents\Access\ImportInternet.xls\ImportInternet$")

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 415
    Par défaut
    ImportInternet.xls\ImportInternet$, est-ce le nom de table liée dans Access ? Je parle bien du nom de la table tel que visible dans la liste des tables une fois le classeur lié, pas le nom du classeur excel sur le disque.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 83
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 46
    Par défaut
    La liste des tables la table liées sous excel se nomme "ImportInternet";

    "ImportInternet.xls\ImportInternet$" est le nom du fichierExcel et de sa feuille tel que désigné dans le liens lors de la première liaison.

Discussions similaires

  1. QGIS : lenteur pour afficher les listes des vues dans "Ajouter une table PostGIS"
    Par fafa63 dans le forum SIG : Système d'information Géographique
    Réponses: 2
    Dernier message: 11/07/2014, 20h04
  2. [AC-2007] Création bouton pour activer gestion des tables liées
    Par ouahab dans le forum Access
    Réponses: 1
    Dernier message: 12/10/2012, 10h59
  3. [AC-2003] Gestion des Tables liées
    Par ted the Ors dans le forum VBA Access
    Réponses: 2
    Dernier message: 05/11/2009, 09h50
  4. [AC-2003] Disparition de la gestion des tables liées
    Par AndréPe dans le forum VBA Access
    Réponses: 3
    Dernier message: 01/10/2009, 11h40
  5. Base fractionnée : gestion des tables liées
    Par hannii dans le forum Access
    Réponses: 5
    Dernier message: 26/02/2007, 12h02

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