Hide ribbon event not working

E

esn

I'm terrible with VBA so this might be something really simple. In
Access 2007, I have a startup form with this event on load:

Private Sub Form_Load()
DoCmd.SelectObject acTable, , True
DoCmd.RunCommand acCmdWindowHide
DoCmd.ShowToolbar "Ribbon", acToolbarNo
End Sub

and this on close:

Private Sub Form_Close()
DoCmd.SelectObject acTable, , True
DoCmd.ShowToolbar "Ribbon", acToolbarYes
End Sub

I've also tried the first event as on open and there is no apparent
difference in functionality. I got the code from searching for ways
to hide the ribbon and navigation pane. These codes work perfectly
for the navigation pane but don't seem to affect the ribbon at all.
I've also tried splitting the first event up between on open and on
load (hiding the nav pane on open and the ribbon on load) but that
didn't work either. Any ideas on why hiding the ribbon isn't
working? I swear I've gotten this to work before, without having to
create a custom ribbon or anything, I just can't remember how.
 
J

Jörn Bosse

Hi,

Hide Ribbon and menus:
DoCmd.ShowToolbar "Ribbon", acToolbarNo

Show Ribbon and menus:
DoCmd.ShowToolbar "Ribbon", acToolbarYes

Hide navigaionpanel:
DoCmd.SelectObject acTable, , True
RunCommand acCmdWindowHide

Show navigationpanel:
DoCmd.SelectObject acTable, , True


Regards
Jörn Bosse

Am 04.06.2010 18:46, schrieb esn:
 
E

esn

Hide Ribbon and menus:
DoCmd.ShowToolbar "Ribbon", acToolbarNo

Show Ribbon and menus:
DoCmd.ShowToolbar "Ribbon", acToolbarYes

Hide navigaionpanel:
DoCmd.SelectObject acTable, , True
     RunCommand acCmdWindowHide

Show navigationpanel:
DoCmd.SelectObject acTable, , True

Yeah so why isn't it working?
 
J

Jörn Bosse

Am 04.06.2010 23:15, schrieb esn:
Yeah so why isn't it working?

Did you create a secure folder in the security center? Or do you always
have to choose "Allow Macros" or something like this, when your db starts?
 
E

esn

Thanks for checking in again,
Did you create a secure folder in the security center? Or do you always
  have to choose "Allow Macros" or something like this, when your db starts?

The db is in a "trusted location," so events/macros aren't blocked,
plus I have my default setting at "allow all macros" because the only
db files I open are ones I built myself. Anything else it could be?
 
J

Jörn Bosse

Well,

try to create a button which executes the code. I just checked ist and
it works fine. If that doesn´t hel, you may create a module with a
public function. Create a macro called autoexec which executes this
function.
You could show up a messagbox when loading your startform to check if
code is about to be executed on startup.

Jörn

Am 04.06.2010 23:46, schrieb esn:
 
E

esn

Well,

try to create a button which executes the code. I just checked ist and
it works fine. If that doesn´t hel, you may create a module with a
public function. Create a macro called autoexec which executes this
function.
You could show up a messagbox when loading your startform to check if
code is about to be executed on startup.

Jörn

Am 04.06.2010 23:46, schrieb esn:

I know the code is loading on startup because it hides the navigation
pane like it should. I tried putting the code in the on click event
of a button and it still doesn't do anything. I've pored over the
options and can't find anything that would be blocking this particular
line of code. Is there any chance I accidentally renamed the ribbon
or something like that?
 
E

esn

I know the code is loading on startup because it hides the navigation
pane like it should.  I tried putting the code in the on click event
of a button and it still doesn't do anything.  I've pored over the
options and can't find anything that would be blocking this particular
line of code.  Is there any chance I accidentally renamed the ribbon
or something like that?

Update - I tried putting it on a form in a completely empty blank
database and it does the trick. So why is the database I'm working on
not reading that particular line of code? I took a look at some of
the system tables to see if anything jumped out but that's all way
over my head.
 
E

esn

I just remembered having a problem with the VBA references of a
previous database file. I had to go into the tools menu and de-select
a few references, close, reopen, and re-select the referenced
libraries. Any chance this is something similar - some sort of broken
object reference or something? I tried running through this process,
but Access wouldn't let me remove the first two references in the
list, since there are objects that depend on them. Could the problem
be in one of those? If so, what do I do to fix it?
 
J

Jörn Bosse

If you didn´t disabled the VBA Project ref everything should work with
that code. You cant change the name of the Ribbon toolbar at all. Would
you please try that code in an other db?
If you want to, you can send me that db, via email but please with no
data inside. Then i can figure out whats wrong and not only suggesting
what it could be. This would be a lot faster.

Regards
Jörn


Am 05.06.2010 20:51, schrieb esn:
 
E

esn

Thanks for the offer, but I think it's hopeless. I've tried
everything I can think of and the only viable solution seems to be
copying all the objects into a new file. I have already tried the
code in another database and it works perfectly. I also tried making
a custom ribbon and that works when viewing reports, but it doesn't
work when viewing forms. Something has gone wrong with this file
somewhere, but it's easier to construct a new one than to try to track
it down. I've also tried saving a different copy of the same file,
running the code in an older version, etc. Nothing seems to solve the
issue.
 
J

Jörn Bosse

Hi there,

thats what i actually would have done, too ;)
I think that´s the best solution...
Well but sometimes i had some luck with decompiling, but you should only
do this with a copy of your database.

regards
Jörn


Am 07.06.2010 16:16, schrieb esn:
 
Joined
Feb 15, 2013
Messages
1
Reaction score
0
Hello, I had the same problem.
This vba code (mentioned by others above) works for me:
DoCmd.SelectObject acForm, "Form_name_goes_here", True
DoCmd.RunCommand acCmdWindowHide
DoCmd.ShowToolbar "Ribbon", acToolbarNo
'in order to start applic with maximized menu form for example add next line, skip if not needed
DoCmd.Maximize

But the catch is this -> in order for this code to work properly, you must also:
- Click the "office button", click the "options for access" button
- Go to "current database"
- Make sure that in the "ribbon & toolbar options", the "build in toolbars are allowed" is checked, or you cannot hide the ribbon by code !

Hope this helps someone.
Bye.
 
Joined
Jul 16, 2021
Messages
1
Reaction score
0
Well I am having same issue and I tried everything but it didn't worked however I tried the same in different and fresh database that had no codes on same PC and it worked! I suppose we must have made some coding that is causing problem, But I am not sure of that because i checked every code and tried different forms load events...but doesnt work.
 
Joined
Feb 21, 2022
Messages
1
Reaction score
0
Hello, I had the same problem.
This vba code (mentioned by others above) works for me:
DoCmd.SelectObject acForm, "Form_name_goes_here", True
DoCmd.RunCommand acCmdWindowHide
DoCmd.ShowToolbar "Ribbon", acToolbarNo
'in order to start applic with maximized menu form for example add next line, skip if not needed
DoCmd.Maximize

But the catch is this -> in order for this code to work properly, you must also:
- Click the "office button", click the "options for access" button
- Go to "current database"
- Make sure that in the "ribbon & toolbar options", the "build in toolbars are allowed" is checked, or you cannot hide the ribbon by code !

Hope this helps someone.
Bye.

Wow. I know this is old, but it saved me. Thank you. I had no idea that Built in toolbars allowed had to be checked. Thank you.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top