OVH Cloud OVH Cloud

La question ACCESS-SQL la plus simplissime du siècle - pour ceux qui ont la réponse !

2 réponses
Avatar
Milca
Comment obtenir par requête SQL la liste de toutes les tables d'une base
ACCESS ?

Pour info, j'y accède en Perl via un drivr ODBC. J'accède correctement
aux données quand je connais le nom de la table, mais comment extraire
tous les noms de toutes les tables ?

Thank's a lot 4 any help !

Micla.

2 réponses

Avatar
Milca

Comment obtenir par requête SQL la liste de toutes les tables d'une base
ACCESS ?


La liste des tables d'une base Access se trouve dans la table système
MSysObjects du fichier de base de données, champs Type = 1. Cette table est
accessible via
ODBC come n'importe quel autre table.



... Snip ... Ca ne marche pas. Quand j'ouvre ma BDD sous ACCESS
tout-à-fait classiquement, je peux voir les tables qui sont dans ma
base. Quand je teste mon script avec les noms des tables que j'ai
relevés sous ACCESS, no pb, les requêtes SQL marchent superbement, et
les valeurs des tables sortent sans aucun pb.

Avec "MSysObjects", je confirme à nouveau ce triste insuccès ! Voici ma
requête, compréhensible même sans plusieurs années d'étude supérieures
de Perl :
if ($Data->Sql("SELECT * FROM $nom")) { print "Erreur SQL.n"; };

Je viens de trouver le moyen de voir cette table depuis ACCESS dans
Outils / Options / onglet Affichage / cases "objets masqués", "objets
systèmes". Mais, impossible de "voir" aucune des tables systèmes par
l'accès ODBC.

Pas d'option trouvée (mais je dis pas qu'y en a pas !) dans ACCESS ni
dans "panneau de commande" / "outil d'administration" / "source de
données (ODBC) pour dire d'ouvrir l'accès à des tables systèmes ...

Any body any idea ?

Thank's again et par avance,

Micla.


Avatar
Milca
Milca wrote:
... Snip ... Ca ne marche pas. Quand j'ouvre ma BDD sous ACCESS
tout-à-fait classiquement, je peux voir les tables qui sont dans ma
base. Quand je teste mon script avec les noms des tables que j'ai
relevés sous ACCESS, no pb, les requêtes SQL marchent superbement, et
les valeurs des tables sortent sans aucun pb.

Avec "MSysObjects", je confirme à nouveau ce triste insuccès !



TROUVE !!!

Simple, une fois trouvé, comme d'hab ...

Il fallait aller dans Outils / Sécurité / Autorisations d'accès / Pour
la table "MSysObjects", j'ai coché "Lire la structure" et "Lire les
données" ... Arrivé là, ça tombait sous le sens, mais ça ne tombait pas
sous le sens d'arriver là ...!!!

Thank's a lot to all the community !

Micla.