Search notes:

MS Access system table MSysObjects

Purpose of System Tables (2/2) (Mendip Data Systems) was very helpful for the following select statement:
select
   obj.Name,
   obj.Id,
-- obj.ParentId,
   par.Name        as parentName,
   par.Type        as parentType,
   par.Flags       as parentFlags,
   --
   switch( -- http://www.mendipdatasystems.co.uk/purpose-of-system-tables-2/4594446647
      obj.type = 1, 'Local table'       ,
      obj.type = 4, 'Linked ODBC table' ,
      obj.type = 6, 'Other linked table',
          1    = 1, '?'
   )                                     as typeDecoded,
   ---------------------------------------------------------------------------------------------------------------- TableDefAttributeEnum 
   iif( int(obj.Flags/(2^ 0)) mod 2 <> 0, 'x', '') as isDeeplyHidden, -- Bit  0              : Deeply hidden table (dbHiddenObject   )
   iif( int(obj.Flags/(2^ 1)) mod 2 <> 0, 'x', '') as isSystemTable , -- Bit  1              : System table
   iif( int(obj.Flags/(2^ 3)) mod 2 <> 0, 'x', '') as isHidden      , -- Bit  3              : Hidden
   iif( int(obj.Flags/(2^16)) mod 2 <> 0, 'x', '') as isExclusive   , -- Bit 16 (      65536):                     (dbAttachExclusive)
   iif( int(obj.Flags/(2^17)) mod 2 <> 0, 'x', '') as isPwd         , -- Bit 17 (     131072):                     (dbAttachSavePWD  )
   iif( int(obj.Flags/(2^29)) mod 2 <> 0, 'x', '') as isAttachedODBC, -- Bit 29 (  536870912): linked ODBC         (dbAttachedODBC   )
   iif( int(obj.Flags/(2^30)) mod 2 <> 0, 'x', '') as isLinkedTable , -- Bit 30 ( 1073741824): linked non-ODBC     (dbAttachedTable  )
   iif( int(obj.Flags/(2^31)) mod 2 <> 0, 'x', '') as isSystemObject, -- Bit 31 (-2147483646):                     (dbSystemObject   )
-- iif( int(obj.type/(2^0)) mod 2 <> 0, 'x', '') as isLocalTable, -- Bit 0: Local table
-- obj.Type,
   obj.Flags,
   obj.LvProp,
   obj.DateCreate,
   obj.DateUpdate
from
   MSysObjects     obj                           left join
   MSysObjects     par on obj.ParentId = par.Id
order by
   obj.Name
Github repository about-Access, path: /system-objects/MSysObjects.sql
Some bit-values of the Flags attribute correspond to the TableDefAttributeEnum enum.
Apparently, the value of Flags is also exposed in the attributes attribute of tableDef.

Returned objects

The returned object names that this query returns (Access version 16) is
Name
DataAccessPages
Databases
f_564899F247904A97BAB5DDF26F9DC0BE_Data
Forms
Modules
MSysAccessStorage
MSysACEs
MSysComplexColumns
MSysComplexType_Attachment
MSysComplexType_Decimal
MSysComplexType_GUID
MSysComplexType_IEEEDouble
MSysComplexType_IEEESingle
MSysComplexType_Long
MSysComplexType_Short
MSysComplexType_Text
MSysComplexType_UnsignedByte
MSysDb
MSysNavPaneGroupCategories
MSysNavPaneGroupCategoriesMSysNavPaneGroups
MSysNavPaneGroups
MSysNavPaneGroupsMSysNavPaneGroupToObjects
MSysNavPaneGroupToObjects
MSysNavPaneObjectIDs
MSysObjects
MSysQueries
MSysRelationships
MSysResources
Relationships
Reports
Scripts
SummaryInfo
SysRel
Table1
Tables
UserDefined

See also

System1.mdw

Index