La question ACCESS-SQL la plus simplissime du siècle - pour ceux qui ont la réponse !
2 réponses
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 ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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.
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 ...
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.
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.
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à ...!!!
... 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à ...!!!