|
Devolver nomes de objetos de bancos de dados |
(P) Como posso recuperar os nomes dos objetos de bancos de dados (consultas/tabelas/relatórios/módulos/macros) usando uma consulta?Autor: Dev Hashish |
(R) A tabela de sistema MsysObjects do Access contém uma lista de todos os objetos do banco de dados. Ainda que não documentado, você pode consultar esta tabela para obter nos nomes desejados. Nota: Use qualquer tabela de sistema do Access com extremo cuidado. Modificações intencionais ou não de quaquer informação destas tabelas pode resultar em um banco de dados inutilizado. (A) The Access system table MsysObjects table contains a list of all database objects. Although undocumented, you can query this table to retrieve the names you want. Note: Use any Access system table with extreme caution. Unintentional or intentional modifications of any kind in these tables might result in an unusable database. 'Código cortesia de '******************** Início do Código ************************ Consultas: SELECT MSysObjects.Name FROM MsysObjects WHERE (Left$([Name],1)<>"~") AND (MSysObjects.Type)=5 ORDER BY MSysObjects.Name; Formulários: SELECT MSysObjects.Name FROM MsysObjects WHERE (Left$([Name],1)<>"~") AND (MSysObjects.Type)=-32768 ORDER BY MSysObjects.Name; Tabelas: SELECT MSysObjects.Name FROM MsysObjects WHERE (Left$([Name],1)<>"~") AND (Left$([Name],4) <> "Msys") AND (MSysObjects.Type)=1 ORDER BY MSysObjects.Name; Relatórios: SELECT MSysObjects.Name FROM MsysObjects WHERE (Left$([Name],1)<>"~") AND (MSysObjects.Type)= -32764 ORDER BY MSysObjects.Name; Modulos: 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; '******************** Final do Código ************************ |