ACCESS : comment obtenir la liste des tables ? [URGENT] - Programmation
Marsh Posté le 30-01-2002 à 13:42:22
Mes souvenirs sont vagues sur le sujet, mais des tables cachées système doivent exister et permettre de récupérer de telles infos.
Une table "MSysObjects" existe, mais je ne sais pas si son contenu est accessible hors Access et s'il pourra t'être utile.
a+
Marsh Posté le 30-01-2002 à 13:53:21
J'ai essayé cette table: elle contient tout un tas de données mais pas celles que je cherche... merci quand même...
Marsh Posté le 30-01-2002 à 14:10:21
Après vérif dans mes archives, je pense que c'est bien MSysObjetcs qu'il faut utiliser.
Encore faut il savoir comment ?
Voici un exemple récupéré dans MSDN (j'ai testé sous Access97 ça marche)
SELECT DISTINCTROW
MSysObjects.Name, MSysObjects.Id
FROM MSysObjects
WHERE ((MSysObjects.Type=1)
AND (MSysObjects.Flags Is Null Or MSysObjects.Flags<>2))
ORDER BY MSysObjects.Name;
Tu peux affiner cet exemple qui renvoie aussi les noms de table système: il suffit de filtrer les noms commençant par "MSys"
Mais c'est vrai que j'ai pas beaucoup + d'infos si tu veux aller + loin
[edtdd]--Message édité par sylderon--[/edtdd]
Marsh Posté le 30-01-2002 à 14:30:17
Merci !
C'est quand même plus compliqué que sous oracle...
Marsh Posté le 30-01-2002 à 14:52:43
On n'a pas accès à la table MSysObjects à partir de l'exterieur (ODBC)...
Marsh Posté le 30-01-2002 à 16:00:39
C'est pê un simple pb de droit
Si sous Access tu donnes tous les droits sur cette table, est-ce que ça marche (menu Sécurité, Autorisations d'accès) ?
Sinon, ben je sais pas !
Par ODBC, tu n'aurais pas des méthodes d'énumération (style API ODBC nommée 'SQLTables' ?
Tout dépend de ta méthode de connexion (OLEDB, API ODBC ...)
Marsh Posté le 30-01-2002 à 16:02:41
J'utilse le JDBC pouir me connecter à la base access en java...
Marsh Posté le 30-01-2002 à 16:18:49
Alors c'est là que nos routes se séparent: je pense pas connaitre assez Java et JDBC pour t'aider plus.
Mais si je trouve qqc je te fais signe
A+
Marsh Posté le 30-01-2002 à 12:40:45
Quel est l'équivalent SQL de la commande Oracle SELECT * FROM CAT; pour obtenir la liste de toutes les tables de la base ?
Si vous savez, comment faire pour mettre cette liste dans une liste en Java ?
[edtdd]--Message édité par thenutskiller--[/edtdd]