[AccessD] Observations on AC 2007 (not good)

David Emerson newsgrps at dalyn.co.nz
Tue Dec 14 01:04:07 CST 2010


I have come across the situation where I want to hide the A2007 
Ribbon but still show my custom menu (Database is A2002 
format).  Dan's code below works well for hiding the Ribbon but as is 
noted below, so is my custom menu hidden.

Is there any easy solution to this problem?  Would using an A2010 
runtime make the problem easier?

Regards

David Emerson
Dalyn Software Ltd
Wellington, New Zealand

At 26/11/2010, Dan Waters wrote:
>I have to say that I have not had a problem with my customers running A2007
>on an mdb file.  I have not tried converting to A2007 because some of my
>customers still use Access 2003.  So, my recommendation is to develop the
>app as an mdb, give them mdb files, and they can use A2007.
>
>The only issue I've come across is that the ribbon shows up when forms are
>open, and I needed to prevent that because my forms don't show any toolbars
>and I don't want users getting any of that functionality at run time.  This
>can be fixed.
>
>When you run startup code include this procedure in a standard module while
>passing in a False value:
>
>     Private Sub DisplayRibbon(blnDisplayRibbon As Boolean)
>         If SysCmd(acSysCmdAccessVer) >= 12 Then
>             If blnDisplayRibbon = True Then
>                 DoCmd.ShowToolbar "Ribbon", acToolbarYes
>             Else
>                 DoCmd.ShowToolbar "Ribbon", acToolbarNo
>             End If
>         End If
>     End Sub
>
>This keeps the ribbon closed when a form is opened.
>
>But you need the ribbon when a report is opened for printing, previewing,
>closing, etc.  In that case I use the following code in each report:
>
>     Private Sub Report_Close()
>         Call DisplayRibbon(False)
>     End Sub
>
>     Private Sub Report_Open(Cancel As Integer)
>         Call DisplayRibbon(True)
>     End Sub
>
>At two of my customers, some people use A2007 and some use A2003, and they
>all use the same mdb files without a problem.  A2007 was designed to use mdb
>files with little to no difference from A2003 behavior, other than the
>ribbons.
>
>Hope this helps someone!
>Dan
>
>-----Original Message-----
>From: accessd-bounces at databaseadvisors.com
>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark Simms
>Sent: Wednesday, November 24, 2010 11:04 PM
>To: 'Access Developers discussion and problem solving'
>Subject: [AccessD] Observations on AC 2007 (not good)
>
>As I am furiously hacking away at AC 2007 for a client, I've spotted some
>problems I have not seen documented.
>Here they are:
>1) I observed that when changing an ACCDB to an MDB for purposes of using
>Access 2003 and Access 2007 there a bug in this conversion process ...it
>removes the USysRibbons table. Access 2007 still can operate without one.
>However, without that system table, you cannot do any customization of the
>ribbon by assignment from the Ribbon and Toolbar options setting ! The only
>alternative is the LoadCustomUI vba method.
>The fix: cut-and-paste the USysRibbons from an ACCDB file; then change the
>Attribute to the proper system table attribute -2....... something. That
>last step is important.
>
>2) Commandbar menu items built in AC 2003 show-up ONLY under the "Add-ins"
>tab of AC 2007. OF COURSE THIS STINKS HUGELY. If you assign a custom Ribbon
>that does not have an Add-ins tab, YOUR COMMANDBAR MENU IS LOST....your
>users cannot do anything !
>Microsoft easily could have provided a database-level setting for the
>flexible placement of the commandbar menu onto the Ribbon. How this major
>oversight ever got past beta testing only confirms my feeling about the
>political nature of the selection of the beta test team. I would go so far
>as to indict the product manager of Access for such a grevious oversight and
>lack of attention to detail.
>
>3) The AC 2007 ribbon can be minimized and indeed that setting "persists"
>upon the next database open. Minimizing it via the GUI is simple. Doing it
>with VBA is nearly rocket science with a ton of Win API calls required for
>it to be reliable. Note: in AC 2010, a new DoCmd was added to minimize the
>ribbon. (it took 3 YEARS to figure that out ?)
>
>It doesn't take a genius to see why AC usage and acceptance in corporations
>has now dropped to very low levels. Anyone associated with the beta testing
>of AC 2007 should immediately disavow all knowledge of any interaction with
>Microsoft Access engineers and managers involved in that program at the risk
>of major verbal abuse by beleagered colleagues.




More information about the AccessD mailing list