xmlms-accessvbams-access-2010

Changing the way the access ribbon appears for users


So I already tried searching google / stack for this answer, and I only see things about XML. I have customized my access database ribbon by removing the "toggle filter" button on the ribbon. If a user clicks toggle filter it breaks many things. So after removing this on the ribbon I saved the database and sent it out. The problem is the customized ribbon only appears for me and not other users.

So I may understand that I have to write XML to customize this ribbon, but how do I write it and where? I take it not the VBA editor in access... Just looking for any information or links, thanks.

I did find on google that I have to go to "current database" options and select "ribbon" and drop down to select a particular ribbon, but I currently have nothing in that drop down to select so how do I create it?


Solution

  • To change the ribbon in use in Access go to Access Options -> Current Database -> Select a new ribbon from the Ribbon Name drop down. You can also add a ribbon to only a specific form or report by using the Ribbon Name property on the Other tab of properties for your object.

    But you first need to create a custom ribbon to populate that list. You will need to create a new system table to hold your ribbon options.

    To be able to edit this table after you create it you will need to display system tables. This can be done by right clicking on the header of the navigation bar and selecting Navigation Options. Check the Show System Objects box.

    Create a new table called USysRibbons

    This table requires three fields

    ID           AutoNumber / Primary Key
    RibbonName   Text
    RibbonXml    Memo
    

    Open your table and give it a name. To make the changes you want to your ribbon you are going to have to add some XML.

    <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
      <ribbon startFromScratch="false">
        <tabs>
          <tab idMso="TabHomeAccess" label="Home">
            <group idMso="GroupSortAndFilter" visible="false"/>
          </tab>
        </tabs>
      </ribbon>
    </customUI>
    

    The first thing this XML does with startFromScratch="false" is keep the ribbon in its default state except for what you change.

    To activate this you need to first close your database and re open it so that the Ribbon Name option will pick up the new tab that you have made.

    Now that you can select a ribbon to use, select your new ribbon and then close and re open once more for the changes to take affect.