We help IT Professionals succeed at work.

Why do HIDDEN OBJECTS not show in the Navigation Pane when the Navigation Option is set to Show Hidden Objects?

Eddie Antar
Eddie Antar used Ask the Experts™
on
Hi Experts,

Summary: Does anyone know why, when I make a table a hidden object using VBA code, and then turn on Show Hidden Objects from Navigation objects, the table don't show back up?

Situation:
I'm creating tighter security for a client's sensitive data with an MS Access front end and back end. The back end is password protected, which I know there are a lot of very easy to use utilities on the web where you can use to find out the Database password.  So I'm taking further steps to secure. One of them will be will be to remove the Navigation Pane, turn off the By Pass Key (with a secret way to turn it on) and use a custom ribbon that prevent a user from opening up Options. All that said, if a user can find the password for the database, they can Import or Link to the back end tables, UNLESS they are hidden. So I've written code to hide all the tables in the back end which is launched from an outside application.

tblDef.Attributes = dbHiddenObject

Open in new window


All this works fine. My question is... when hide tables in this manner, and I by pass the start up (using my secret way), and then go into File / Options and turn on Show Hidden Objects
in the Navigation Options, the hidden tables DO NOT SHOW. Does anyone know why?

I've added some code to turn the the hidden object off from the outside app, and when I do that, the tables reappear.

Any help on this would be greatly appreciated.

Thanks,
Eddie
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
President / Owner
Most Valuable Expert 2017
Most Valuable Expert 2012
Commented:
On a table, there are a few different ways of hiding it, and there are two "hidden" attributes associated with it.   One is a property of the table itself.  The other is a property of the container it's in (tables), which is how Access works with objects and what the nav pane is based on.

Hi Tech Coach covers that all here:

https://hitechcoach.com/component/content/article/61-access-databases/tables/63-how-to-hide-a-table

Jim.

Author

Commented:
Wow. Thank you Jim, I did not know that. So given my objective that even if they got the Database password for a .mdb file and even if the navigation pane is open, if the table was marked as hidden using VBA, they wouldn't be able to unhide it WITHOUT knowing some serious VBA coding. Does that make sense to you?

Eddie
Jim Dettman (EE MVE)President / Owner
Most Valuable Expert 2017
Most Valuable Expert 2012

Commented:
if the table was marked as hidden using VBA, they wouldn't be able to unhide it WITHOUT knowing some serious VBA coding

 That is correct.   Just test the compact and make sure it doesn't delete the table (you said MDB, which is the older format).

 Tables have the two attributes because one is Access based and the other is JET based, which is the only object type it understands (Access is built on top of JET - Access has all kinds of objects including tables, while the database engine only works with tables).

 And as far as protecting an app, best to distribute as an accde (source code stripped out) as well.

 Jim.

Author

Commented:
Thanks again for your help!

Eddie