Liste des tables

Comment obtenir une liste des tables présentes dans la base de données ?

Lister les tables de la base de données

Tapez le code suivant dans un module quelconque :

Pour tester, ouvrez la fenêtre de debug (CTRL + G), et tapez-y :
? ListeTables() et appuyez sur la touche [Entrée].

Vous obtiendrez la liste de toutes les tables de votre base, y compris les tables système (celles gérées en interne par Access).

Important
L’exemple de code ci-dessus fait appel à la bibliothèque DAO (Microsoft DAO Object Library). Cette bibliothèque doit être associée à votre base de données pour que le programme fonctionne.

Pour plus de détails sur les références, consultez cette page.

Lister les tables non système

Généralement, la liste qui vous intéresse est celle de vos propres tables, sans les tables système. Dans ce cas, vous pouvez faire un test supplémentaire sur les attributs de la table, ce qui donne :

Vous aimerez aussi...

4 réponses

  1. Hervé Inisan dit :

    Jon > La liste peut être affichée dans un objet ListBox de formulaire, par exemple. Ou stockée dans une table pour exploitation spécifique. Je viens de poster un nouvel article qui montre tout ça. Bonne lecture !

  2. Jon dit :

    Bonjour,
    Est-il possible d’utiliser ce code ailleurs que dans la fenêtre d’exécution?
    Je veux dire par là, peut-on utiliser le résultat dans un état, formulaire, contrôle,…
    Si oui, comment?
    D’avance merci.

  3. Hervé Inisan dit :

    noufo > A moins que la requête ne soit une requête Suppression, les enregistrements ne peuvent PAS être effacés. Il y a probablement un enchaînement d’erreurs qui amène à cela…

    D’après ce que je peux voir, vous êtes plusieurs à vouloir faire les mêmes choses, et à poster du même serveur. Merci de passer le mot aux autres de lire cette page, et de poster plutôt sur le forum Access plutôt qu’ici, quand ça n’a pas de rapport avec les articles. Ça évitera de disperser les questions, et ce sera plus efficace pour obtenir une réponse. 😉

    Sur le forum, merci de formuler les questions le plus clairement possible : on sent dans la formulation (si je peux me permettre, bien sûr) que l’approche d’Access est un peu confuse. 🙂

  4. noufo dit :

    Excusé si ce n’est pas l’endroit idéal pour poster ma préocupation:
    J’ai les T_Clients: CodeClient, Nom, Prenom…..
    T_Produits: CodeProduit, Prduit, Prix….
    T_Commande: N°commande,IDclient, Date….
    Detailcommande:N°Commande,N°produit, PU, Qté, Remise, Tva…
    avec lesquelles je souhaite faire des factures clientes.
    J’ai des relations avec tétégrité Referrentielle, mise a jour.
    Une réquête est basé sur les T_DetailCommand et Produit avec les champs calculés, cependant sur cette réquête, il est impossible de saisir des données, voici le message je ACCESS me renvoi et tous les enregistrements sont automatiquements éffacés.

    « Le moteur de base de données microsoft Jet ne peut pas trouver d’enregistrement dans la table DetailCommande avec le champ codeProduit correspondant a la clé ».
    Ou encore les données enrégistrées dans la reqête sont automatiquements revoyer dans les tables. A chaque fois que cela arrive je reprend mais c’est toujours la même chose.

    Mon souhait est de créer un Formulaire basé sur la table client avec Sous Formulaire basé sur les T_Produits et DetailCommande afin de pouvoir facturé plusieurs Produits a un client. Que dois-je faire? Est que c’est moi organise mal le cheminement? Ou c’est la structure mise en place qui est fausse?
    J’espère pouvoir trouvez une reponse qui m’aidéra a poursuivre ce prjet.

    PS: c’est ma toute première base de données. votre Livre APPLICATION POUR ACCESS semble m’intéressé

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *