Access 2013 Hide Ribbon, but it still appears for little while

I have an Access 2013 database in which I am trying to hide the Ribbon.  I have tried both DoCmd.ShowToolbar "Ribbon", acToolbarNo, and creating a custom Ribbon (using the USysRibbons table) and referring to that in File, Options, Current Database, Ribbon Name.  

While this all works, there is still a few seconds where the full Ribbon is visible upon startup - we do not want to see it at all.  Is there any way around this?

Thanks,


We have secured the database by doing the following:
o      Hiding the Ribbon (VBA Code)
o      Replace the Ribbon (VBA Code, Access Options, Current Database, USysRibbons table)
o      Hiding the status bar (VBA Code)
o      Replacing the right-click menu with a custom menu (VBA Code & Access Options, Current Database)
o      Disabled the shift key (Bypass Key) so there is no access to the database window. (VBA Code)
o      VBA code is password protected. (VBA Properties)
o      Not displaying the Navigation Pane (Access Options, Current Database)
o      Not allowing full menus (Access Options, Current Database)
o      Not allowing default Shortcut menus (Access Options, Current Database)
LVL 1
upsfaAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

PatHartmanCommented:
The other issue, which you may not have encountered yet, is that for certain operations such as importing/exporting spreadsheets, Access makes the nav pain (sic) visible again.  The only solution I have found that ALWAYS hides the nav pane is to rename the app extension to .accdr.  This tells Access to pretend to be the runtime engine and since the nav pane is NEVER available using the runtime, it stays hidden.  Of course, this has other ramifications as you might imagine.  But, since you are not allowing shortcut menus anyway, you won't care.
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
I'd also caution you against password protecting the VBA code. This can be very troublesome if your database become corrupt. As long as you take precautions you should be okay, but we've seen more than one meltdown here that occurred because someone password-protected their file, and then it corrupted and they were unable to restore it due to the password.

If you must use the VBA password, then do this:

1. Use it ONLY on the Frontend. Your Backend should have no VBA anyway, but if it does, DO NOT set the VBA Password on the BE.
2. DO NOT set the VBA Password on your development copy of the FE. Instead, when it's time to deploy, make a copy and set the password on the copy, then deploy the copy.
upsfaAuthor Commented:
Thank to both.  As always good info, but it does not address my question:  With all the techniques listed above applied, there is still a few seconds where the full Ribbon is visible upon startup - we do not want to see it at all.  Is there any way around this?
IT Pros Agree: AI and Machine Learning Key

We’d all like to think our company’s data is well protected, but when you ask IT professionals they admit the data probably is not as safe as it could be.

DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Systems AnalystCommented:
"Is there any way around this?"
I know exactly what you are talking about ... and I have not found one.  All I can say is ... that faster a given system and network, the less time it will appear during loading of Access itself.   I'm even doing tricks with the Windows API during loading ... and it STILL appears for a moment ... very annoying I agree.

" Hiding the status bar (VBA Code)"
Humm ... that seems a little extreme.  The Status Bar is very useful to give users a clue as to either what is going on and/or what should be entered in a given text/combo box/list box ... etc., just to name a few.

mx
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
Sorry, I thought I had included my comment earlier:

Like Joe, I know of no way around this. When your application starts, the first thing that happens is the Access environment starts up - and that's likely where you're seeing that "flash" of ribbon - and then Access loads your application. You have very little control over what happens in the Access environment, so there's just not much that can be done.

Only thing I could suggest would be a "launcher" app, which is essentially an application that does nothing more than fire off your Access app. You could possibly create this in Access (but you might end up with the same problem), or you could use something like VB.NET. Basically, using automation you would load your application in a hidden mode, which would allow Access to fully start and fully load your Access database. After a second or two (or however long it takes) you could make it visible.

That's a bit extreme, I realize, but unfortunately it's one of those idiosyncrasies you have to put up with in Access ...
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Systems AnalystCommented:
" and that's likely where you're seeing that "flash" of ribbon -"
EXACTLY ... yes.

Launcher ... even my Database Loader (an Access  ACCDE) ... immediately does some API display stuff, including hiding Access environment in the background, and making the Loader System Modal, On Top - so users must select a db to load (or Cancel). STILL ... the Access environment (Ribbon) flashes for a moment - and varies on factors such as the phase of the moon, sun shots, etc., at the given moment

mx
Jeffrey CoachmanMIS LiasonCommented:
Scott, Joe,

Wasn't there some sort of start-up hack you could do in Access where you could have an image file in the same folder as the Access db and have that display "Briefly" on start-up?

I think Joe and I discussed this a while ago, and it no longer worked because in those days computes were a lot slower...?
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Systems AnalystCommented:
This and I still do it .... but the Ribbon STILL shows briefly :-(
Hack was to name a BMP file same as AppName.bmp  and put in same folder as AppName
upsfaAuthor Commented:
Thanks for all the input, but sounds like no real solution.  By making the file and accde,  the ribbon flash is pretty quick, but there is no hiding the fact that it is an access database.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Systems AnalystCommented:
Not so far ... even with the Windows API tricks I'm doing ... but ... at some point I hope to find a way.
PatHartmanCommented:
Did you try renaming the file from .accde to .accdr.  Once you tell Access to pretend to be the runtime engine, it completely hides certain things.
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Systems AnalystCommented:
I've tried that with my Loader - that as is - has minimal in terms of seeing the Access Application window - but even still - wherein it does eliminate all the the Ribbon except the File table - you ... still see the Access Application window flash for a moment :-(
So to some extent - it does help a tad.
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
but there is no hiding the fact that it is an access database
As I've said many times before - if you don't want users to know you're using Access, then don't use Access. Access apps require the Access environment, and you're stuck with that (not a bad thing, just a fact).

If you want your program to act more like a standard .exe program, then use a programming language that allows you to create a true stand-alone .exe (although they all use a runtime or framework of some sort, unless you're into some seriously low-level languages).
upsfaAuthor Commented:
By making the file and accde,  the ribbon flash is pretty quick, but there is no hiding the fact that it is an access database.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.