Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 762
  • Last Modified:

Access 2010 - What are hidden objecs? System Objects

Can someone tell me what hidden and system objects are and some examples?
0
brothertruffle880
Asked:
brothertruffle880
  • 7
  • 4
  • 2
  • +1
3 Solutions
 
Helen FeddemaCommented:
System objects are tables used for internal purposes, such as the MSysObjects table that lists database objects and their properties.  They are usually hidden, because changes to them can cause serious problems.  They are sometimes used as sources for queries, especially in add-ins.  Hidden objects are ones you have chosen to hide (unless Hidden objects are made visible in the Options dialog).  You can hide an object by opening its properties sheet (from the Nav bar) and checking the Hidden checkbox.  This can be useful if you don't want users to see an object.
0
 
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
Be default, all System  Objects are Hidden. These include any object (mainly tables) that start with the prefix MSys (like MSysObjects) or Usys (like USysRibbons).

You can unhide these ... Options>>Current Database >> Navigation.

You can also Hide any of your own objects as desired, by setting the Hidden attribute of the object ... Right Click >> Properties >> check the Hidden box.  
These will be then become Hidden when the Show Hidden Objects check box in the Navigation Options is Unchecked.

The idea is to keep users from seeing certain objects ... if say you are showing the Navigation Pane.

All MSys tables cannot be edited by anyone.  Read Only.

mx
0
 
Jim Dettman (Microsoft MVP/ EE MVE)PresidentCommented:
any table prefixed with 'usys' will also be hidden unless "Show Hidden Objects" is checked in options.

Jim.
0
Easily Design & Build Your Next Website

Squarespace’s all-in-one platform gives you everything you need to express yourself creatively online, whether it is with a domain, website, or online store. Get started with your free trial today, and when ready, take 10% off your first purchase with offer code 'EXPERTS'.

 
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
:-)
0
 
Helen FeddemaCommented:
USys objects (if any) are used for add-ins.
0
 
Jim Dettman (Microsoft MVP/ EE MVE)PresidentCommented:
<<Sys objects (if any) are used for add-ins. >>

  Typically yes, but Access doesn't care really.  Any table can be hidden that way.

Jim.
0
 
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
But USys prefixed objects will be automatically hidden IF - the  "Show System Objects" is Unchecked - whether or not the Hidden attribute is check for that object.



mx
0
 
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
"USys objects (if any) are used for add-ins."

Except the USysRibbons table ... not related to an Add In.

I've used the USys prefix for many of my 'app system' tables for many years.

mx
0
 
Jim Dettman (Microsoft MVP/ EE MVE)PresidentCommented:
<<Typically yes, but Access doesn't care really.  Any table can be hidden that way.>>

 Actually that goes for Msys as well.  

  One thing with the Hidden attribute, make sure you don't set the dbHiddenObject attribute on a table.  This is a JET level attribute and you will loose the table on the next compact and repair if it's set.

   This is different then using Application.SetHiddenAttribute, which sets the hidden attribute on the Access object (it's not a JET object attribute).

Jim.
0
 
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
Yeah ... that bug has been around a long time.
0
 
Boyd (HiTechCoach) Trimmell, Microsoft Access MVPCommented:
@Jim and MX,

One thing with the Hidden attribute, make sure you don't set the dbHiddenObject attribute on a table.  This is a JET level attribute and you will loose the table on the next compact and repair if it's set.
Yeah ... that bug has been around a long time.

Most do not realized it was fixed in JET 4.

I have been using it with JET 4 databases for 10+ years and never lost a table after a compact.  I even use it to hide Linked tables in front ends.

If you use Application.SetHiddenAttribute  the object will show if you select show hidden objects.  It is exactly the same as selecting the Hidden attribute  check box in Table properties.
0
 
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
I kind of thought it was probably fixed.
0
 
Boyd (HiTechCoach) Trimmell, Microsoft Access MVPCommented:
It works fine in ACE (.accdb) databases also.

I use this with JET4 and ACE databases:

Public Sub HideTable(strTablename As String)
    With CurrentDb
        With .TableDefs(strTablename)
            .Attributes = .Attributes Or dbHiddenObject
        End With
    End With
    RefreshDatabaseWindow
End Sub
    
  
Public Sub UnHideTable(strTablename As String)
    With CurrentDb
        With .TableDefs(strTablename)
            If dbHiddenObject = (.Attributes And dbHiddenObject) Then
                .Attributes = .Attributes - dbHiddenObject
            End If
        End With
    End With
    RefreshDatabaseWindow
End Sub

Open in new window


from: How to Hide a table
0
 
Jim Dettman (Microsoft MVP/ EE MVE)PresidentCommented:
I didn't think it was a bug per say, but a "by design" type of thing.   Didn't realize they had changed it.  I can't remember the last time I bothered to hide a table.

 Thanks for posting the correction!

Jim.
0
 
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
Exactly - at least by that method.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

  • 7
  • 4
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now