I'm not surprised when someone new to Access or ribbon talks like this, but when experts here insist on preferring using traditional menus over ribbons, I'm simply shocked. No offence, but if anyone thinks the traditional menus were better and more useful than current ribbon, I say you don't know how to use a ribbon.
I've had this discussion with isladogs before. It's buried somewhere here, and I don't want to go through the same routine, just adding some points.
In a ribbon, you can add Checkboxes, Toggle buttons, Textboxes, Combo boxes, Galleries and Split buttons which I don't think menu system could have them.
And if you add a sub menu, you can have Toggle buttons and checkboxes in them too. (Again I don't think it was possible in a menu)
One of the most interesting aspects of controls on a ribbon, is that they can have a super tip, something that traditional menu system lacked. (at least with this quality). A super tip can be a help file or a complete explanation of how the control works. A super tip can be multi line, and styled with html.
View attachment 115302
However, some applications use custom add-ins or third-party tools to enhance the ribbon functionality. These add-ins can provide more advanced features, such as displaying images or even GIFs when hovering over controls. This involves programming with the Office Add-in framework, which allows developers to create custom UI elements and behaviors.
Check the following gif. A mouse over a control, shows a clip on how the control is supposed to be used.
View attachment 115301
View attachment 115304
That is the exact way a ribbon works.
Most of our databases have 4 user defined tables (tblRibbons, tblTabs, tblGroups & tblcontrols) that is joined to a users level table.
On each login, a function reads the preferences and privileges of users and reconstruct the ribbon's XML according to their preferred language. Their ribbon contains only the buttons they are allowed to use.
Adding new tabs, groups or controls is done only by adding a new record to one of the tables. We don't need to go through an xml file with more than a thousands lines, search for an specific control to edit, delete or add a new control.
When you login to one of our databases, the menu can be one of 8 possible languages. After login to FE, a function with less than 50 lines of code, reads the controls from a query with above tables joined, creates the necessary xml code that only contains the controls you are allowed to use, in your preferred language, and sets this XML as the application's ribbon.
What else do you need? You only add controls to the table, nothing else.
I think I've shared a sample database there and I don't repeat it here, just check how a dynamic ribbon works.
I can't remember how I used to add a menu to a database, so for anyone who remembers I have 2 questions: (genuine question)
- Were you able to have a multi language menu? For example when a French logs in to db, all the menu change to French, or to German for someone who is more comfortable with German than English. Was it possible?
- Could you hide some menus or sub menus for some users with less privileges?