What is meant by the builtin version?
Access comes with a Switchboard form and table. They used to be visible on the ribbon but they are now hidden. You have to add the developers tab to see them.
All three of my samples are based on the original Switchboard form. The hardcoded list version is based on the last VBA version from MS with two changes - 1. 12 items instead of 8, 2. the additional option of opening a main form in DS view which the original code could not do. The big button version, is a modification of this version. The code behind it is identical. It even has both a button and a text box but the text box is hidden under the enlarged buttons. The continuous form version is based on the last version of the switchboard prior to A2007 which had been converted to macros. I removed all the macros and reverted the form to using VBA.
except I want more than 12 buttons,
I explained to you how to do that. in an earlier post. But I'll tell you again, 1. change ONE variable from 12 to 532 or whatever. 2. Add the additional 520 or whatever buttons and be careful to adhere to the naming standard used by the original 12 buttons. You are still thinking hard coded and not data driven. I've been creating applications for 50 years. I have lots of scars from all the mistakes I've made. I've spent weeks of my life (over the 50 years) making and fixing hard coded menus. Believe me, if I thought that hard-coded switchboard/menus were the way to go I would not have bothered to build a sample to show you how to do it wrong. So, I, personally, think that data driven is the right way for a switchboard. Rather than grouping and futzing with the button display, think about a button dropping down to a sub menu. If you do it the hardcoded way, you WILL at some point sooner or later realize that. If your app is small and will stay small, you can make it "prettier" by using a custom layout. If you value substance over form and respect your employer's cost investment, you won't waste their money doing "pretty" for the sake of "pretty" when "functional but still nice looking" is almost free.
and I want some hidden depending on conditions.
Again, you can write code and spend development time doing this OR, you can look at the version of the switchboard samples that support a log in. You can use that security model and by using queries with criteria, the custom switchboard or the continuous form switchboard (rather than the one with Hard coded buttons) will show each user only what they are authorized to see. If you want to show/hide the buttons depending on authorization, you will find that the menu looks silly as gaps occur for the hidden functions. That will mean you need to change how the form works and figure out how to make the missing teeth look better.
It is important to understand what is substance and what is fluff and spend your time on things that provide a good ROI which is solid validation code and security as well as efficient processing and flexibility. Table driven is an objective to always strive for since it provides the most flexibility with the least amount of programming effort to create and maintain. Think of this as you would a combo. If you have two options that will never change (bet you thought gender would never change), it doesn't make much difference. But if you have 20 and there is the slightest possibility of change, then a table is called for.
I'm sorry you didn't find the switchboard maintenance form obvious. The upper subform is the menus and the lower form is the items on any given menu, including the link to another menu.