Home
Home

---Soumis par Dev Ashish---

Retourne le nom des objets de la base de données.

(Q) Comment retrouver le nom des objets  (requêtes, formulaires, tables, états, modules, macros) en utilisant une requête?

(A) La table du système d'Access  MsysObjects contient une liste de tous les objets de la base de données. Même si cela n'est pas documenté, vous pouvez utiliser une requête pour obtenir une liste des noms que vous désirez.

Note: Utiliser les tables du système d'Access avec prudence. Toute modification, même non-intentionnelle, de ces tables peut rendre votre base de données non utilisable.

'Code Courtesy of
'Dev Ashish

'******************** Code Start ************************
Utiliser un des énoncés SQL suivants comme  Rowsource d'un contrôle, dépendamment du type d'objet désiré.

Requêtes:

SELECT MSysObjects.Name FROM MsysObjects WHERE (Left$([Name],1)<>"~") AND (MSysObjects.Type)=5 ORDER BY MSysObjects.Name;

Formuliares:

SELECT MSysObjects.Name FROM MsysObjects WHERE (Left$([Name],1)<>"~") AND (MSysObjects.Type)=-32768 ORDER BY MSysObjects.Name;

Tables:

SELECT MSysObjects.Name FROM MsysObjects WHERE (Left$([Name],1)<>"~") AND (Left$([Name],4) <> "Msys") AND (MSysObjects.Type)=1 ORDER BY MSysObjects.Name;

États:

SELECT MSysObjects.Name FROM MsysObjects WHERE (Left$([Name],1)<>"~") AND (MSysObjects.Type)= -32764 ORDER BY MSysObjects.Name;

Modules:

SELECT MSysObjects.Name FROM MsysObjects WHERE (Left$([Name],1)<>"~") AND (MSysObjects.Type)= -32761 ORDER BY MSysObjects.Name;

Macros:

SELECT MSysObjects.Name FROM MsysObjects WHERE (Left$([Name],1)<>"~") AND (MSysObjects.Type)= -32766 ORDER BY MSysObjects.Name;

'******************** Code End ************************