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 :

Access récupérer noms tables après code VBA [AC-2013]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 11
    Points : 11
    Points
    11
    Par défaut Access récupérer noms tables après code VBA
    Bonjour,

    Je fais du access basique et je suis nul en VBA, je pars de rien, désolé. Je souhaite récupérer le nom de toutes mes tables dans ma base Access sur un tableau
    Toutes les requêtes trouvées font la même chose , afficher le nom des tables une par une via une MsgBox mais je ne sais pas où récupérer mes tables.

    Faut-il faire une requête utilisant "test()" ? Si oui, pouvez-vous m'aider svp. Access me dit objet non défini pour test

    Ma librairie "Microsoft DAO 3.6 Object Library" n'est pas coché car j'ai la "Microsoft Access 15.0 Object Library" déjà coché qui doit la contenir.

    le code utilisé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Sub test()
    Dim Db As DAO.Database
    Dim tbd As DAO.TableDef
    Set Db = CurrentDb
    For Each tbd In Db.TableDefs
            MsgBox "Table : " & tbd.Name
    Next
    End Sub
    Merci d'avance pour vos retours.

    Flo

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Bonsoir,
    c'est plus simple avec une requête et une des tables système :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT name from Msysobjects where type =1 and flags =0;
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Merci beaucoup !!! ça fonctionne pour les tables non liés.

    Dans ma base Access, j'ai des tables liées sur un serveur. Possible de les récupérer aussi avec un code de ce type ?

    Merci d'avance

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    C'est bon en regardant le code, j'ai tout récupéré !!!

    Merci beaucoup, vous m'avez fait gagner un temps précieux !!!

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Encore merci.

    Donc pour compléter avec mes tables liés sur serveur, mettre msysobjects=4 aussi en complément

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Msysobjects.name, Msysobjects.[type], Msysobjects.[flags]
    FROM Msysobjects
    WHERE (((Msysobjects.[type])=1) AND ((Msysobjects.[flags])=0)) OR (((Msysobjects.[type])=4));

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Plus de noms tables récupérés par VBA que mes propres tables ?
    Par _C14_ dans le forum VBA Access
    Réponses: 6
    Dernier message: 30/05/2012, 17h33
  2. [XL-2010] Nom d'un code vba
    Par d.deneys dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/07/2011, 16h39
  3. Réponses: 1
    Dernier message: 29/06/2010, 13h03
  4. Récupérer une table de code postaux et INSEE
    Par jothi35 dans le forum Général Java
    Réponses: 4
    Dernier message: 04/03/2008, 21h06
  5. Réponses: 5
    Dernier message: 03/08/2006, 16h13

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