Do you like the new navigation pane?

The team is considering some refinements to the navigation pane. What do you like about the changes? How would you like to see it improved? If we added an OM would you use it? Do you use the new tables and views mode?

 I have a feeling there will be a number of comments on this post... 🙂


Comments (49)
  1. davidmdm says:

    The one aspect of Access 2007 I highly dislike is the navigation pane.  I don’t like having to scroll From working with a table to a module to the ned of the list. Having the tab system like the old version of Access was much simpler to use when switching between access objects.  

  2. psclil says:


    why can’t it be simpler…for some reason the default is not to show queries and stuff…anoying

  3. kennethj says:

    I really like the filter tool.  I dislike the default selections as well, especially that the filter tool is turned off.  I haven’t converted any big databases (object count wise) to 2007 so I haven’t had any issues.  I don’t see why it can be set up so that when it is dragged to a wider size it can’t show multiple columns.  This to me would fix almost any issues I foresee.


  4. RGKaye says:


    The old naviation wiindow was far easier to use. I see no benefit to this as opposed to the Access 2003 and prior version

  5. RGKaye,

    Thanks for the feedback but what specifically do you miss from the old design?

  6. davidmdm says:

    Specifically, the old design had the Tabs Vs. groupings.  If I wanted to work with a module, I simply clicked on the modules tab and I could move from modules to forms, or then to reports, etc. just by clicking on the appropriate tab. Navigation was much easier.

    Having a single scrollable list doesn’t benefit in my opinion, it has made navigation worse by requiring us to scroll.  For instance,  under 2007, if I am looking at a table and need to work with a module, I must scroll past forms, past reports, past macros, then get to modules, vs. just clicking on Modules Tab and I am there.

    The new navigation has features that can be beneficial by grouping things into application areas, however, this could have been provided with tabs as well which would support both old way of navigation and give new features.

    Part of the problem is someone at microsoft deciding things are not good and coming up with a new way of doing things.  Sometimes, if things are not broken, they don’t need to be fixed.  

    To carry this whole concept past navigation.  The whole concept of Ribbons is a joke.  I have spoken with many people have have upgraded their office to 2007 and they all find the ribbons harder to use than simple menus and buttons.  Again, it wasn’t broke, and didn’t need to be fixed.  The navigation is basically the same problem.  It was a change that wasn’t necessary and has actually made use of the system more cumbersome.

    It looked diffrent, so hey, we can sell a new version.  but thats not an improvement.

    While we are on the subject of Changes, I really dislike the idea that we are required to use macros for menus or in the case of 2007, ribbons.  Yet, security warnings pop up all over the place if we use macros.

    Access is not just a database but a development language that allows somewhat CASE abilities by giving rapid development, and should be treated as a programming language.

    Let virus scanners do their job and stop forcing security checks into Access that are not necessary.  Access should do the job it was designed,  Word does the job it was designed.  Microsoft doesn’t have to own and control and force people into things.  

  7. H. says:

    Having the ability to float the navigation pane or see it as a tab (like the Access option to see screens in tab format) would be nice. Love the ribbon and likewise would love to see the navigation pane as a ribbon.

  8. Oli-S says:

    The bug that the navigation pane constantly re-appears when using things like the TransferDatabase() method needs to be fixed. I would also like a more usable detail view…currently it turns each object entrance into a four line entry (Object Name, Date Created, Date Modified, Comments) which makes it really unreadable and you need to scroll through your list forever. Additionally not too important…but you can’t sort the list on Comments anymore (which was possible in the Database Window). Would be nice if there was an option to make the pane multi column (though I know space is an issue). I do like the search/filtering capability very much. What I can’t find because of the long scrollable single column list is normally found pretty easy with the search (if I know what I’m looking for :)).

  9. Fred Boer says:

    I’m hesitating to comment, since I’ve only had a copy of Access 2007 for a few weeks, and as an amateur "enthusiast", my Access "playtime" has been limited to a few hours, so I might be completely wrong, but….

    I have found the navigation pane to be initially confusing. I have looked around enough to discover it is a whole little "world" in itself, and provides lots of opportunities for customization – but all I really want to do with it is to find and open a table/form/query. I’m not sure I’d ever bother customizing the navigation pane. Maybe professionals, who have many more objects than me, would like this, I don’t know.

    BUT my *big* beef at the moment is the following: say I want to work on the design of a form – I open the file, select the form in the navigation pane, and then I want to click on the button to go to "Design View". But I can’t – it’s not available. I have to double-click the form, wait for it to open, then click on the "Select View" menu, then click on the "Design View" selection. And maybe I didn’t want to open the form, ’cause I knew there was a problem and wanted to go directly to design view, or open the IDE…

    I’m sure it was easier in Access 2003, let me check…

    Oh, dang it… it’s reinstalling… ‘Oh yeah! I’ve got both versions on this computer. Rats, this will take forever! Listen, I’ll run upstairs and open Access 2003 on another computer – it’ll be easier than trying to switch between them on this computer – and I need the exercise… 😉

    (Ok… two beefs! <g>)



  10. tom says:

    I liked the old tabbed form much better also.  However, it should have had a modal option to keep it on top.

    I could really use a robust, truly programmable Nav pane that is tabbed, floatable, hidable, and able to be docked anywhere on the screen.  Ideally the nav pane would be a native Access form that is dockable to any border, as well a stackable to allow multiple nav panes on the same or multiple borders.

    I would like to see an improvement to the general tabbed form design to match VS 2005 look and feel.  End users should be able to dock and undock their tabbed forms even in a "compiled" Access app.  The programmer should have full controller over what features are available to the end user.

    I have to agree again with the above comment about security.  I would call it just about the worst Access BUG that we’ve had to endure.  Of the scores of Access users I work with, there is not a single one who wanted to keep the security messages, and every single one opted to disable "macro" security when given the option.  Of the 10-20 programs that I run every day, it’s only the Access apps that cause these headaches.  Clint, you and the Access team are just plain wrong, wrong, wrong about this issue; the only reason for it is for MS to avoid liability and you know it.  It does not protect users in any way shape or form.

    I also second what Fred says about the continual reinstalls with 2003.  It should be an embarrassment for MS to release such a half-baked piece of software.

    Oh yeah -that Fluent interface – What a piece of JUNK.  PLEASE give us back the old interface with the command bars.  I can handle the ribbon if I must, but Fluent is UGLY, UGLY, UGLY.

  11. Fred says:

    Maybe I should have hesitated. 😉

    I actually followed the link provided and read the document about the nav pane, and was reminded that the shortcut menu did provide a quick way to get to design view without first opening the file. Doh!

    However, you can’t get to the IDE that way in one step, and you *could* using the menu in earlier versions. I do miss that – maybe add that to the shortcut menu?



  12. Henry Habermacher says:

    Hi Clint

    I think it’s an improvement for most users but has some disadvantages navigation trough objects that a developer has to manipulate (and normal users don’t), like queries, tables, modules and macros. What I see additionally is a waste of presentaqtion space with the navigation pane, that is mainly used only in during navigation and not during data entry or coding. so I have some suggestions, how it could be changed. Just look over the fense and have a look at Vistual Studio 2005 and there for example the toolbar or the object explorer.

    – make it undockable and pinable to all sides (top, bottom, left, right)

    – give it an autohide option and reduce it to s small line when hidden. As I have to move the mouse to the navigation pane anyway it could hide itself and display itself when the mouse moves there, giving more space for the presentationarea. It even may display on top (higher z-index) of the presentationpane and wouldn’t have to move windows around if it hides and unhides.

    – allow different views:

     ° view as introduced in A2007

     ° treeview (similar to VS2005 toolbar)

     ° icon view / detail view with tabs to select object type (similar to document container in A2003 and earlier versions)

    – Let the the view be restrictable by VBA code so we can decide if the user only get the A2007 navigation pane or if he can move it around or even display it as document container in an own window

    This would give a greater flexibility and realy would save space. Specially a kind of deflatable/enflatable treeview as we have it in VS2005 would save a a lot of space as then we don’t need icons for the particular entries and it would allow to navigate trough the objects faster

    Thanks for asking


  13. Alex Dybenko says:

    Hi Clint,

    I think it should be an option to use old database window. Perhaps new nav pane is better then old database window, but you have to give people a chance to use what they used many years. Plus more options, like Henry wrote.


  14. Crystal says:

    (first, let me repy to Fred who misses the Design button — Fred, RIGHT-CLICK the form name in the navigation pane and choose ‘Design’ from the shortcut menu…)


    Hi Clint,

    I liked having more area to see the object names and the details in different columns instead of stacked.  I always used detail view with all the columns.  I miss that — and it was easy to sort and resize.

    It does happen that I need to see the object list at the same time I am working on a form, but it is a quick jump to look (usually just to R-Click on a name, Rename, then ctrl_C, then ESC because I don’t really want to change it — I just don’t want to type it wrong <smile> somewhere else) … but I prefer NOT to have the screen cluttered up while I am designing or writing code.  It would be nice to TOTALLY hide the navigation pane and get all the horizontal space there is for design

    I like Henry’s "auto-hide" idea — the navigation pane does take a lot of space away from the design area — in fact, if you are in 800×600, between the ribbon, the navigation pane, and the properties window, there is not much space left for the form!

    Triggered by something that Henry said, it would be pretty cool if the different nav groups could be "tear-offs" so you could float them and collapse/expand them individually — maybe even pin particular objects to the top  of the list (or can you do something like that already?  Maybe I read that in John & Jeff’s book …) — it would be really nice to be able to move the "tear-off" collapsed titlebar, for instance, to the Ribbon area and above … just to get more space but still have them accessible — then, like you could drop it down when you needed it and roll it back up.  I really like the way that CorelDraw does what it calls "Roll-ups"

    I also agree that is takes longer to switch between different objects now … what about a floating toolbar with T Q F R Ma Mo on it to make switching faster?  Or a tabbed row at the top that could be on or off?  clicking tabs was faster to change.  

    { OFF TOPIC  here is a shortcut key I really liked a lot from Venutra (ok, that was years ago) but I have never seen this in any other product — Ctrl-X to call up the last dialog box you used.  It would have to be a different shortcut key but being able to get the last dialog was VERY handy — and I know it has nothing to do with navigation panes, just wanted to mention it }

    Warm Regards,



        (:  have an awesome day  🙂


  15. Tom Deketelaere says:

    Hi clint,

    I’m pretty new to access so I don’t know if this will help you but having used A2007 now on serveral medium to large sized databases (just started working in a firm where they used nothing but access) I can say that the ribbon is an improvment at least that’s how I see it.

    Now about the nav pane. Like said before I don’t like the fact that I have to scroll so much. Most databases I’ve had to use contain a large amount of tables, forms, reports, macro’s, modules (we can speak of several hunderds) and being new to these databases I don’t know how the are called so I can’t search for them (otherwise the search option has ben very helpfull). So having a tabbed window of some sorts would be helpfull.

    I wouldn’t like to return to the A2003 database window. A few years ago I had to learn about A2003 and I remember being very anoyed that I had to close almost al my open windows before reaching the database window (I know ctrl-tab works too but not like a window that’s always there). So the fact that the nav pane is always in my sight is definatly a improvment but maybe an option to easier switch between objects would be better.

    I appoligize if there are mistakes in my language but written english is not my strongest point (my language is Dutch)


  16. Alan Cossey says:

    1) When doing design work it is a bit of a pain having to exit the database and then open it again if I want to hide it.

    2) More importantly for me, having it show as one long list means it takes a while in a complicated database to find the object I want. If I have several similarly named objects, I want to be able to see them all  and choose the correct one visually, not have to use a search facility.

    3) I like the suggestions that a collapsed NP will appear if the mouse is moved over it without having to first click it and then disappear again if the mouse is moved away from it.

    4) I also like the suggestion that the NP appear over the top of whatever other database object is already open. With 3) that would mean it would work like a ribbon down the side of the screen. That leads onto the question of whether it would be possible for the current ribbon could be made to be dockable, say, down the side of the screen. With wide screens all the rage these days, they are getting further away from the shape of hard copy of whatever we are handling which is usually a piece of paper in portrait (rather than landscape).

    5) The current NP suffers from the fact that you can not securely hide it away, bearing in mind that user-level security was broken and then removed rather than repaired/replaced.

    Alan Cossey

    PS I think the ribbon is great though a built-in graphical designer including creation of callback procedure stubs would be a huge improvement.

    PPS M. David Matney you don’t have to use macros with the ribbon (hope I have understood you correctly here) and there should be no need for security warnings, e.g. if you use a Trusted Location.

  17. First, a comment to Tom Deketelaere: You could always bring up the Database Window by hitting F11 in earlier versions, as long as you had not disabled Special Keys, under Tools > Startup.

    The comment that David Matney shared was very familiar to me as a child. I loved to tinker with stuff, which usually meant I had no problem taking it apart, but putting it back together was another matter. An example was my parent’s alarm clock; my mom found all the parts in a bowl, hidden under the dresser when I couldn’t figure out how to put it back together again! My father quite often said "Son, if it isn’t broken, don’t fix it". Your team made an attempt to fix the Database Window, when it wasn’t broken at all. Now, we have the Navigation Pain (sic) as a result.

    The comment written by tom (June 07, 2007 9:38 PM by tom) was not written by me, but I’m sure many of my friends may think so, based on private comments I shared in the past!  Alex is right on when he wrote "you have to give people a chance to use what they used many years."  

    Change for the sake of change is not improvement at all. I absolutely hate the new Nav. Pain and the ribbon. These two "improvements" have taken a lot of the fun out of working with Access for me, and I’m quite serious when I say that. My hope is that the market, as a whole, will reject these features and force Microsoft to return the Database Window and Toolbars/menus. I know, resistance is futile.

    I would be a lot more tolerant of these new features if they had not been shoved down our throats; in other words, the ability to use the more familiar Database Window in leiu of the new Navigation Pane, and the ability to use the more familiar toolbars and menus in leiu of the ribbon.

  18. Albert D. Kallal says:

    The ribbon is way cool. Some of my long time clients who use word and excel nearly all day for 10+ years have upgraded to office 07, and they LOVE the ribbon. (a real surprise to me).

    Seems us developers don’t like the ribbon as much as users do!

    I love the ribbon interface. When we start changing labels, and enabling/disabling controls, quite change occurs from menubars.

    Access applications use FAR more ribbons then a typical excel/word application (they likely have one ribbon).  So, that means we need greater program access to the ribbon object.

    When one stays away from callbacks, the ribbon is great. When callbacks are needed, then we need  a handle to the ribbon. Since we likely to have LOTS of ribbons, then we need a collection exposed (just like forms(), or reports().)

    Without a exposed handle to the ribbon, we are forced to build a global custom collection. (because the ribbon load event only occurs once), or shy away from call backs. I do now have a working class object that handles the whole ribbon like a menubar anyway. I plan to post the example ASAP.

    As for the nav paine? Well, #1, you taken away the alt-d shortcut. I used to highlight an object, and then go alt-d to open the object in design mode. This key is gone, so, now I use right click->design

    I like the nav pane, but when you have more then 30 items of ONE type, then scrolling is a bit of a issue. So, for new users, nav is likely easier, and more intuitive.

    As a tip to all here, if you right click on the nav, you can turn on the search bar. This search bar will filter all of the categories. So, if you start naming your forms, reports, quires by a group, or even with the SAME name, then you simply type in the first few chars in the search bar, and ALL OF  the nav categories are filtered. So, it is rather nice/cool that the search filters all the categories at the same time.  That means you can *display* the forms, reports and queries that you need to work with as a group. (assuming you adopt a naming convetion). This is *very* cool.

    Of course, for my current long time applications, I used frm, rpt etc for prefix and this search suggestion thus don’t work!

    So, right now, as item counts rise, then I do prefer the old way.

    Perhaps we just make each category able to be un-pinned. Then, we have the ability to have each catagories in a separate window. We thus change the view from details->list->icons like we always had and simply size the window. Being able to pull off these separate would allow forms list, reports list etc to be viewed in separate windows (at the same time!).

    Albert D. Kallal

    Edmonton, Alberta Canada

  19. Albert D. Kallal says:

    > Of course, for my current long time applications, I used frm, rpt etc for prefix and this search suggestion thus don’t work!

    I meant to say “don’t work that great” (the search is a instr type search). So, if you leave out the can still often filter the objects displayed. Distpite this tip, I still do find the lists a bit long.

  20. Fred says:

    Well, I was thinking about this some more while I was making the kid’s lunches this morning (..discard the uneaten carrots.. add fresh carrots…) and I still think that there is a problem with getting to design view (…eat the untouched, bruised bananas, add fresh new bananas…).

    You *can* use a right-click (Thanks, Crystal – that did occur to me after I originally posted), but I do know from helping non-power users that they often don’t know about using a short-cut menu, and they don’t tend to just "try it" and see if something happens.

    So, imagine a new user, looking at a list of objects. Let’s call him Sam 🙂  Sam has selected a form, and knows he wants to work on the design of the form. Will he know about shortcut menus? Maybe not. Will he even know enough to double-click the name of the form to open it? I wonder. And there is nothing highlighted on the menu to give him a hint.

    Now, if the "View" menu item was hightlighted when he slected a form, he’d say "Hey! That menu item just changed – maybe I should click there and it will tell me what I can do…".  I mean, the idea is that the ribbon is more "context sensitive", right?

    One other thing – I’m a little hesitant… (ok, I guess I’m not <g>)… to mention, but I teach blind and visually impaired students – and I wonder about the accessibility of the navigation pane/ribbon, etc. Can you use all of the features without touching the mouse? Maybe I’ll try at lunchtime today…

    I haven’t the latest adaptive software so I can’t test this, so perhaps this might just be taken as a "flag" for the designers..



  21. davidmdm says:

    Alan Cossey

    I have searched documentation high and low on the ribbon and using it to make calls directly to procedures.  The only way I have found that it may be possible is via callback’s whihc I havn’t not attempted to use as it appears to be way over convoluted to simply call a procedure in a module.

    If there is a way to simply call a procedure and bypass the whole macro, I would love it if you could share that with me because the only macros I use are one line runcode macros just to call a procedure and then the ribbon calls the macro, which is really convoluted way but I have not found any other way to do it.

    As to trusted locations, everything I have read requires me to purchase a Code Signing Cert.  Our applications are not internal use by end users only.  We have companies that purcahse our applications on a global scale, and must install and use that application wihtout being bothered by "this database has potentially unsecure macro" message which only tells the end users that are demonstrating our software that they may not want to trust us.

    A Code signing cert doesn’t solve any problems whatsoever.  The Customer knows where they have bought the software from.  They know who took their payment. They don’t need microsoft to confirm it for them.

    So if there is something I am missing on how to implement and bypass the macros, Please share it with me, as I have spent days reading articles as MSDN and other places and everything points to requiring code signing certs

  22. davidmdm says:

    I have a question for the access community.  Do you guys actually let your users use the object names to start forms?  My users NEVER see queries, forms, reports, etc.  They are all called by the application via buttons, menus, etc.

    As I am reading peoples posts I am gathering that you actually use the navigation pane (or the database window in 2002/2003) for end users to navigate.  

    To me the navigation pane is not an end user tool, its part of the development interface itself.

  23. Arvin Meyer says:

    I can’t stand the new navigation pain. (sp. intentional)

    Not only is it a more difficult container to use, it is far more difficult to hide. Of all my apps, less than 10% of my users ever get to see a database container. They get to see forms and reports, through menus. Everything else doesn’t matter.

  24. I love the new navigation pane. It’s much faster to find what I’m looking for with the search and the list allows me to get work done quickly.

    I do have a couple of ‘annoyances’ about it though.

    1) Shortcut commands do not work when an item is highlighted (or the ribbon has stolen the commands). I used to the Alt+D all the time to open objects, now I have to use the mouse. It really just needs to be more accessible for keyboard junkies like myself.

    2) The default setup when you open a new database or a database that hasn’t been opened in A2K7 is not configurable. I would like to be able to define whether or not the search shows by default, which list is used, and what view (list, icon, detail) is shown.

    3) In relation to item 2 – I ****NEVER*** use Tables and related Views view. Ever. Did I say that strongly enough? Why, even if I cannot set my own defaults, would someone assume you only want to see a few of the objects in the database when you start? C’mon, common sense here guys. (sorry, this is a bit of a rant because I find it incredibly frustrating).

    How do I use this feature (I do totally love it). Always use Object Type, List View, All Access Objects view sorted by type with Search bar turned on. The Search bar is my new best friend. I love it. I really can’t say that enough. Working in an access database with any more than 10 objects now is so much better. I can live without the keyboard shortcuts because this feature saves me so much time. Occasionally I sort by Created Date or Modified Date but Access has a problem with keeping a reliable Modified Date so this isn’t as helpful as I would like. But it is useful. I also really love the addition of sorting by type so that it’s faster to find queries etc when you know what type they are in combination with the search.

  25. Thanks for the comments everyone. I will try to summarize comments once they slow down.

    David–You can use trusted locations to completely get rid of security warnings in 2007. Here is an article about it: If you need to deploy a trusted location path, here is a article about how to do it through policy:

    You shouldn’t need a code signing cert for Access 2007.

    From what I understand the runtime will allow you to write that key when installing a runtime app. Yes folks, it is coming shortly. Hopefully within the next couple of weeks. I know some of you are frustrated but the team is working hard to make sure it is done correctly.

  26. davidmdm says:


    That doesn’t work for deployment.  Most of my users are small mom and pop businesses with less than 15 employees.  They do not have a system administrator.  Half of the time, they can’t understand how to run a setup.exe file – I know, how the hell can they run a business.

    They receive our software on disk, or via download.  And Install it.  It needs to be as simple as them running the setup.exe and everything else is automatically setup for them

    Most of them are running Windows XP Pro as their server using peer to peer file sharing.  There is not way to setup a trusted location, and I am surly not gonna try to walk them through it, when it takes me an hour just to try and teach them how to share a network drive so that they can run our software in client/server style enviornment.

    Now your suggesting I try and wlak someone through how to setup security policies and trusted locations.  Aint gonna happen.

    I want to run CorelDraw on my computer.  I run the installer. No need to setup trusted locatations.  ITS NOT MICROSOFTS JOB TO POLICE SOFTWARE.  IT is the job of virus scanners to scan programs for viruses.  Microsoft needs to get their noses out of everyone business and stick to what they are doing.

    I realize that in order to take over the world, microsoft has to take all computers.  But it only frustrates the community that uses micorosfts products and will eventually lead to more Unix based systems. (ok so this was a little extreme, but you can read my frustration on microsoft trying to control everyone via dictation (now we know where hitler went – lol)

    Point is.  I shouldn’t have to setup trusted locations at a client 2000 miles away just to run our software.  ITS Rediculous.  We don’t setup trusted locations to run office, or money, or any other microsoft product, yet products developed using microsoft products have to have trusted locations?  thats rediculous.

  27. wrmosca says:

    I would rather not have to scroll through the list of objects. The older version let you size the window to see any number of columns.

    And I like the group style in 2003.

    Now ask us about the stupid ribbons. <g>

  28. George Hepworth says:

    Most of what I would say about the new nav pane has been said by others, and said better,  so I’ll restrict myself to a few summary comments.

    The "one-size-fits-all" approach to configuring the nav pane suggests to me that it is aimed at the lowest common demoninator: i.e., the elusive "knowledge worker".  But, most professional developers would rather die than let their  regular users navigate through the nav pane to forms, etc.

    IMHO, all the nav pane does is annoy the majority of the developers who find it less flexible than its predecessors.


  29. kennethj says:


    I want to run CorelDraw on my computer.  I run the installer. No need to setup trusted locatations.  ITS NOT MICROSOFTS JOB TO POLICE SOFTWARE.  IT is the job of virus scanners to scan programs for viruses.  Microsoft needs to get their noses out of everyone business and stick to what they are doing.

    This is just a rant with no real purpose.  Can Corel run scripts?  If not then these are not the same issue.  Without these new security methods in Office you run the chance of harming your system.  The method used in Access 2003 was a little difficult to deal with if you wanted security.  In Access 2007 it’s fantastic, it has all the protection features and is easy to deal with.  Trusted locations is very easy to use.  Microsoft is not policing anything, they are adding features that are demanded by todays security minded users.  Anyone can be sent a Word doc, Excel sheet, or Access database with scripting to destroy their PC.  This security will protect you.  Maybe you’re intelligent to handle this but from your description of your users or your opinion of them they need this type of proection.

    I’m just upset with the flack thrown when it’s not really an issue unless it’s made to be one.  Everyone has differing opinions about the ribbon and the nav pane.  I am one that loves the ribbon but understand people don’t like change.  For me working in Word 2007 a lot makes it annoying to go back to older versions.  I know it will take longer to adjust to Access since I live in that from an employment standpoint but I’m willing to deal with relearning where to look for commands.  Programming it is a new curve but there are a lot of good sources if you spend any time looking.  I can give you links if needed.


  30. davidmdm says:


    Thanks for yoru input, however Yes, Corel has vbscripting, and if you wanted to destory someones computer, you could do it outside of macros in vb code itself.  Macro security DOES NOT protect from malicious code when you can write code itself to access the OS

    Irregardless. Access is a development Tool, just like C, C++, Pascal, etc.  Corel is written in a programming language, it access the OS so does EVERY program run on a computer.  ALL PROGRAMS can access the OS, hard drive, etc.  It is not new to just Access.

    The point is, its the job of virus scanners to scan for malicious binary code.  Whether you write your routine a compiled language such as C, C++, etc.  or in an interpreted language used by Access, the end result is still the same.  

    So placecing macro security on macros in access DOES NOT protect a computer.  Anyone with malicious code intent isn’t gonna use a macro anyway.

    The only thing it does is create frustration for developers.  NEVER Protects the end user.

    An MDE, or in the case of 2007 ACCDE, is not modifable anyways, so when you create a macro and distribute an accde or mde, there is no risk of macro modifications after distribution without going in and modifying the binary.

  31. davidmdm says:


    On another side-note, the point originaly made was that Ribbons are for navigation for end users, or to accomplish a task, such as bold, Italics, etc.

    So, if we are FORCED to use ribbons, and ribbons can only call macros.  Then my point was give us the ability to make direct calls to modules from ribbons vs. forcing us to use macros which forces the issueance of threat messages.  Microsoft creates a catch22 and thats my complaint about it.

    I would never use macros if it weren’t for the fact thats all a ribbon will call (other than using callback routines which is not a very intelligent workaround)

  32. Albert D. Kallal says:

    David Matney

    calling code and not using macros?

    I not sure where you missed something, but all of my menubar code for 10+ years has ALWAYS called code. I have NEVER used macros.  The ribbon does not change this one bit. Your ribbon buttons can and should call standard access code in a module..

    The process is *identical* to that of menubars. You simply set the on-action to the name of a public function, and you done.

    Further, remember, the public function run will be the current one in the FORM THAT HAS THE FOCUS. This allows you to build a ribbon that can be used for different forms. It also means that you code for the current form can remain in the current form where it belongs.

    For example, most of my forms have a public function called MyDelete. So, I can use the same “delete” button (in fact same ribbon) for multiple forms.

    And, what is REALLY great if the current form with the focus does NOT have a public function with that name, then a public function in a standard code module will be used. (so, you can have a global mydelete function, and for *special* forms that need to run different code…simply place that public function name in the current form.).

    I have no idea where or why you thought that menubars, or now ribbons need to call macro code. I never USED macro from a menubar (or now ribbon). So, this ability to call code from a ribbon, or menubar has not changed one bit in more then 14+ years of ms-access.

    So, set the on-action of the ribbon to your public function name you want to call.



    You ribbion xml will look like:

      <button id="invPrint" label="Print Invoice"


    And, keep in mind, you can even pass parmaters.


    You code would be standard access code that gets run. Eg:

    Public Function MyInvoicePrint

    (the above myinvoiceprint does not have a string parmaters, but it could have one to work with the MyInvoicePrint("Customers") example).

    So, I not sure why you thinking that you have to use macors for ribbon code…I never used macors, and the ribbon calls code the same way it did for menubars in ms-access.

    Albert D. Kallal

    Edmonton, Alberta Canada

  33. davidmdm says:

    Albert D. Kallal

    I didn’t say call a form, I said call code, i.e. calling a function in a module.  I realize you can use menus and could for years to call a form or a report.  Thats different in access than calling a module.

    Last time I tried to call a module from a menubar in access 2000, you could not do it.  Now if they added the ability to do that since, well my bad, I havn’t tried since access 2000, and I do read the release notes on whats new for each version and I don’t remember it ever being indicated that a menu option can now call a module directly.

    So if it is there, I will test is out, however, I know it was not available in Access 2000 unless via a convulted method.  I do not plan on reloading 2000 just to confirm it though.

  34. davidmdm says:

    Ok, I did one more test and added the Equal sign inside the quotes and it worked.  I do not remember being able to do this in access 2000, unless it was undocumented.

    IfI remember correct in Access 200, the GUI interface to build menus did not even allow you to choose modules it only listed forms, reports and macros as selectable items for the menu option.  So if you had to manually key it vs. selecting it as an access object, then I never tried that and never saw any documentation that allowed you to do that as a workaround.

  35. Albert D. Kallal says:

    The on-action property setting been that way all along….

    As I said, I done this for 10+ or more years. It works even in a97, and

    Even before that…

    Pay careful attention to my addition comments about have the function declared public in the forms module, or a standard module.

    The tip I gave means that the same menubar (or now ribbon) can call code

    In each forms module – whichever form has the focus will have the function code

    Run. So, adopt a common function name (eg: MyDelete). Then, each form can

    Run it’s own code.

    However, if you don’t place the function in the forms module, then it is global

    And, for global public functions, I often pick up the forms name:

    Public Function AskInvoicePrint()

      Dim tblgroupid    As Long

      Dim frmActive     As Form

      Set frmActive = Screen.ActiveForm

      tblgroupid = frmActive.frmMainClientB.Form!ID

      If frmActive.InvoiceNumber = 0 Then

         frmActive.InvoiceNumber = nextinvoice


      End If

      DoCmd.OpenForm "guiInvoicePrint", , , "id = " & tblgroupid

    End Function

    The above is code that the invoice print button runs. note how I right away

    pick up the active form. After that, I can easily ref the forms object as if

    the code was running much like the code would if put behind a button on the

    form. In the above example, I also check if a invoice number has been

    generated before printing. And, the Refresh forces a disk write if in fact I

    do change the invoice number. And, in addition the above clip also passes

    the currently selected sub-form item that the invoice print form needs.

    Also, if the code you write is for the particular form, then as mentioned,

    you can simply place the code into the forms module code. There is no need to pick up the active screen…and you can use “me.” as you

    always used.

    I done the above since access97 and it likey worked in versions before that…

    Albert D. Kallal

    Edmonton, Alberta Canada

  36. davidmdm says:


    But it was undocumented that you could call a modules function directly.  Thus I never knew it could work, and never really worried about it, so I had to use macros cause it was undocumented.  It wasn’t til 2002 version that some of the security features got implemented but there were workarounds which those workarounds are now closed in 2007

    Point is.   A MACRO doesn’t harm a computer anymore than a MODULE can.  Thats the whole point of my post.

    Requiring Code Signing simply to allow the database to actually run does not protct the end user.  NOR IS IT MICROSOFTS JOB to police it.

    Next thing you know, Microsoft will be polcing all DLL’s, EXE’s, etc.  Its rediculous to have microsoft be the God of whats runs.  

    Build that Operating System and let it go.  Let the developers design their applications.  Customers will buy their applications and use them.  If ther eis a problem, you don’t think a lawsuit will be initiated against a company that is running malicious spyware code, etc.?

    Access is a development tool (RAD) it doesn’t need policing.

  37. Larry Linson says:

    No, I don’t like the navigation pane.  I don’t particularly like it personally, but if my clients and users liked it, I’d smile, learn to tolerate it, and get on with business. You know that what I’m leading up to is my clients and users don’t like it, and I like that situation even less than I like the nav pane.

    It seems to be just another instance of trying to make things easier for end users but failing to fully consider the end users’ situation. The users of my applications are also end users — they typically do not have the screen real estate that Microsoft designers appear to think they should.  I take that into account in my application design, and see no reason that the Access team can’t do the same. My users don’t see any reason that you can’t, either.

    Whether they are working directly in Access, or whether they are using my application, they tell me that they need the ability to view just what they are using… no "this pane", no "that pane", no "the ribbon only takes the space of three menubars" (to people who have never, ever used three menubars), no "you can hide that, it only takes a few keystrokes", no "it only takes a few more keystrokes to get it back", and no"it’s not really much effort to learn where we’ve moved things this time".


  38. Peter Schroeder says:

    David Matney –

    I do happen to have A2000 still loaded on a machine…I created a menu bar, added a NEW MENU ITEM to it, and then went to the ON ACTION property.  I hit F1, and the following message pops up:

    "Select the name of a macro or Visual Basic Function procedure that runs when you use the selected control.  When you specify a Function procedure, you must use the syntax, =functionname()."

    I’d call that documented.

    You seem to have gone sideways off on a rant here; the problem is, what you are upset about is a non-issue, and has been for many versions of Access now.

  39. Alan Cossey says:


    The discussion about certificates and so on has been carried on by others, so I will stick to the ribbon. I, probably like you, are used to “normal” VBA functions and so callback functions seem weird. Having the return value in the parameters of a sub routine (by making the parameter By Ref and therefore updateable and returnable to the object calling it) seems a strange way of doing things. However, once you get going with them , they are OK. There are some articles on MSDN about the ribbon, some of them with .NET examples, which is a pain. It seems to me that the job with the ribbon was only half done by Microsoft. Perhaps it is understandable that they did not manage to get everything done before the launch of Office 2007, but it does make it difficult for Access developers.

    Anyway, here is how I handle things. It suits me, but there may well be better ways of doing it and would love to hear from other people how they manage things.

    1) Use the USysRibbons table as explained in various documents. This holds the XML for the ribbon.

    2) Use XML Notepad 2007 to create the XML. As you create the controls, you don’t get to seem them as they will look laid out on the ribbon (if only….), but you do see them in a sort of tree. It took me a while to get used to this, but as long as you make sure your ribbon controls are created as “elements” and that the control properties are child “attributes”, things work pretty well. You can even drag and drop controls from one place to the other, so, for example, if, as I did, you had a series of buttons on your ribbon and ran out of space, you can drag them onto a split button rather than have to rewrite all the XML. Mind you, some of the attributes may change or need to disappear so watch out.

    When ready to try the XML in your ribbon, you can copy the XML by clicking the CustomUI node in XML Notepad 2007 and then clicking on the copy icon. You can then paste the XML into your USysRibbons table. XML Notepad 2007 will inform you of most errors you can make, though I did manage to confuse it so much once that I had to go to a back up file of the XML.

    Having started off using only macros in my ribbon XML, I now only use callback functions. The best reference for all things ribbon that I have found is, which is a non-Microsoft site. It includes the layout of all callback functions involved with the ribbon. Alternatively, you can wade through the Microsoft documentation or try using the Office 2007 Custom UI Editor as that will generate stubs for your callback functions from the ribbon XML, but in my opinion it is not as good otherwise as XML Notepad 2007. Unfortunately, XML Notepad 2007 will not create stubs for your callback functions, which is a real shame.  You could also create your XML using one of the free Visual Studio Express products, but when I went to install one on my last PC the installation failed and I was unable to uninstall it. Stupid thing!

    3) I’ve also had problems setting a global variable to hold a copy of the ribbon in case you want to change it dynamically. Like other global variables, it loses its value when your app has an error and then you have to start your app again. I’ve got round that by creating a class defined as type ribbon and set my global variable to that. So far, it has worked OK. If anyone is interested, I can post the code…  It isn’t particularly earth-shattering and there may be better ways of doing it.

    It would be good to know whether Microsoft are going to supply a decent ribbon design tool at some point. If they are not, it would be worth someone creating one, but I would think that many people are put off by the fear of doing a lot of work only to find that Microsoft provide one and they then get no payback for their work. Clint, is there going to be anything from Microsoft, please?

  40. kjm87 says:

    I think some balance needs to be brought to the comments.

    Scrolling through a list list of 100+ forms is annoying in BOTH the A2003 database window and the new Navigator.

    Therefore I really like the Search/Filter box.

    As for improvements.

    * Full API for changing it and setting options in code.

    * Being able to set the icon on individual objects. This is important if I am going to expose the Navigator to application users.

    * "Copy object name" on the shortcut menu. For the number of times I need the table name in code, this would be useful.

    * Option for auto sync. This means the form I have focus on is highlighted on the navigator. Also useful for the point above.

    * Good documentation on the XML schema. I discovered that there are API functions for exporting & importing the navigation bar as XML. However importing edited XML soon led to lots of "Send report to Microsoft" dialog boxes.

  41. Albert D. Kallal says:

    >by M. David Matney


    > But it was undocumented that you could call a modules function directly.

    No, that is not the case t all!!

    I don’t want to clutter up Clints blog, but the on-action always specified and stated that you can use the name of a function. I can’t ever remember reading anything other wise.

    If you hit help while in the on-action setting even in a2000, you get:


    Select the name of a maco or Visual Basic function procedure that run when you use the selected control. When you specify a Function procedure, you must use the syntax =functionname()


    The above is from a2000 help. Books, articles, examples, and even the help clearly states this.

    I have NO IDEA why you suggest that this is un-documented. I used this extensively since a97. I knew nothing about the product at the time, and from nearly day one I used

    Functions because that what the help and articles showed. I never gave this a 2nd thought. The help could not be more clear on this.

    > Access is a development tool (RAD) it doesn’t need policing.

    That is not true. There are companies that scan their computers have found 45,000 mdb files. The fact that they are both a data store, and a program store is a HUGE issue your ignoring here.

    If a compay bans the use of mdb files because they can have code, then what do you suggest? That means no ms-access sales to that company. That means you can’t use ms-acces any more.

    Further, there is a HUGE difference in security when comparing code and macros. I have TONS AND TONS of api code in my access applications. Macors don’t let you use the

    Windows api, or modify files outside of ms-access.

    Many companies have requested code free editions of mdb files etc because they don’t want malicious code to run when launching a mdb. You can have a macro run, but it

    Not going modify the registry, or files, or call api’s like vba code can.

    Anyway, I don’t want to clutter up clients s blog.

    However, what is nice here is that the on-action works the same in ribbons. So, you thus can and should have your menubars or ribbons call your custom vba code. You don’t need macros, and the help and documentation does not suggest otherwise.

    However, there are now some security considerations here, and in some environments, if you can use a few simple macros in place of code, there are some reasons to do this.

    By the way, articles and help for a97 also stated the same thing about using functions..

    Albert D. Kallal

    Edmonton, Alberta Canada

  42. FlashP says:

    No!  Who thinks up these things?  

  43. John Mishefske says:

    Perhaps I’ve missed samples but I’d like to have control of the NP through code. Perhaps there is a way to prevent it from appearing in a user app (A2003 MDE) run from A2007 but it seems certain actions we perform make the NP visible to the user.

  44. Andrew Craven Rohm says:


    No, I don’t like it.  It seems to suffer from the same problems as the rest of the UI changes.  The bits I use have been taken away and either not replaced or replaced with something which always requires more clicks/keypresses than it used to do to get to doing something (especially keypresses, does Microsoft make more money selling keyboards than selling mice?).

    As a previous poster noted "who thinks these things up?"  Previous changes have had an "organic" growth to them (like menus and Commandbars becoming more alike and items automatically being tucked away when not used and so on.)  This 2007 stuff tastes like some design guys have been let loose without either technical or marketing being involved.

    As a previous poster noted "who thinks these things up?" As most Notebook displays are all going "wide" but not-so-tall why does anyone think it’s a good idea to make a toolbar replacement which is taller with less items on it?

    This is not simply a case of things have moved and you have to find them again (which is acceptable when the benefits are tangible.)

    Then there’s the fact that the whole office suite is riddled with inconsistent Look-and-feel, something which previous office generations have cut down on from generation to generation.  Outlook has the old style Menus and toolbars but the message editing windows have the "ribbons".  OneNote has Menus and Toolbars.

    So far all my users and contacts (across the board in computer ability) are saying similar things, paraphrasing "sure it looks pretty but I don’t want to be married to it".

    So far this is all negative though, what do I want put back into the navigation pane?  I want to be able to put it where it’s in the right place for me while I’m working (my users don’t get to see the old Database Window and won’t get to see whatever follows it.)  OK, the old one didn’t exactly stay where you put it but that was because I had Popup forms placing themselves in places which forced Access to recalculate top and left. Fixing that would have been good. I want to be able to switch between ever changing items with a simple click and, if necessary, quick scroll (as opposed to click, click, scroll, scroll, scroll, and/or type, type, type.)


    time to take the medication again…

  45. Oli-S says:

    Hi John,

    I hear you about the re-appearing bug. However, here are some methods of the DoCmd object that you might find useful in manipulating the nav pane through code:





    Good luck

  46. Nick Rofeliak says:

    The new Nav Pane is slowing down by 85% my ability to find my queries, even given the search feature.  I used to rely heavily on the ‘date modified sort’ feature of the multi-columned detail view.  I can’t believe this feature was removed because it provided obvious functionality.  There’s no reason…  The search feature is a great enhancement to have, but I’m not always 100% confident of what I’m looking for in terms of how to spell it.  When you have dozens and dozens of related queries it’s easy to not know for sure.  So while the search feature is welcome addition, it’s not a substitute for a quick browse.   I don’t use a mouse while using Access, so making everything easily keyboard browsable as possible.  I loved the tab-to-tab browsing in the old navigation system using ctrl-tab.  As for the grouping of queries by type, I would find that to be a nice OPTION to have, but to do it by default totally corrupts a nice speedy tool I have of keeping like-related queries together regardless of type.  I feel that query type (cross-tab, select, make-table) is subordinate to query name in the hierarchy of sortation preference.

    I used to love the ctrl-tab move, alt-left arrow-up arrow-enter move (to close queries), the alt-d move to design an object, and I find the F6 key to be too far out of the way for easy reach for moving around the panes.  So overall, I’m not pleased with any of the keyboard shortcut modifications.

    In sum, for a daily user (non-developer) like me, the productivity decrease resulting from the nav pane and keyboard modifications alone offers a compelling reason to go back to office 2003 or not upgrade to 2007 in the first place.  The heavy modification, feature elimination, and lack of noticeable improvement all leave me wondering ‘what were they even thinking?’  Does not compute.  My 2 cents.  Thanks for asking.

  47. Brent/datAdrenaline says:

    I dislike the Nav pain, along with what appears to be a majority.  I am not too fond of the Ribbon Either for that matter.  Just taking the operational point of view out of the picture … between the Ribbon and the Nav Pane there is nothing left!

    Ultimately I don’t think I can add any insight that has not already been spoken.  But I am still going to ramble because this is a BLOG … so if my comment is duplicate, that means I "second" the motion … if its unique … well then I bring the motion to the table! …

    – The prior versions offered MUCH quicker navigation… in the Nav pan, all I do is click many times and scroll forever … The search is nice but IMHO is should HILITE matchs … That functionality could have easily been added to the prior version of the db window

    – I miss the columns of info (detail view) … the 4-lines per object thing is terrible … people think and work in grids and sheets … not reports with groupings

    – Adding to the Ribbon mix (I know you didn’t ask..) but here you remove TONS from our site force us to look "horizontal" for commands (a real pane), then toss us into "vertical mode" with the Nav pane and Office Button … IMHO, you should have remained consistent and ditched the office button and created another tab named "Document", then we could at least our mode (vertical/horizontal searching) for the scope (ribbons and nav pane) would be consistent.

    – Ribbons (again) … Do seem to work well in the Word/Excel environment (still don’t like them their either) .. but in Word/Excel .. you basically have ONE goal, to create a printable document.  You are working with sheets of paper and text and formatting that text to look a certain way.  I do not say that in a derrogatory way, that just the typical goal.  In Access, its a different animal! … and not as well suited to the Ribbon method.

    – Nav pane, if it remains, should be dockable, have a TreeView option, and and Auto Hide/Show options

    – May have more to add later … but now #5 is crying …. and I have to comfort him … (he must have just saw the Nav pain and Ribbon 🙂 … LOL )




  48. David Wilhelmsson says:

    I’d like to propose my suggestions for an improved navigation pane:


    * Improve the speed of the search box. It’s a significant assistance for me who works with databases with thousands of objects (>2000), however it’s a little too slow when there are this many objects. Can the objects can cached in some fashion for near-instantaneous searching?


    * I would like the details view to adapt to single/multi-line layouts depending on the width of the navigation pane, in a similar fashion to Outlook compact layout for emails. For example, if the navigation pane is narrow, retain the current details view with line 1 as the name, line 2 as the date created and line 3 as the date modified. If the navigation pane is widened, adapt the view to a traditional single line list view with additional columns for date created and date modified.

    * Since there is already a chevron in the top right corner of the navigation pane to collapse it, I would like to double-click on the border of the navigation pane to automatically expand it to the longest entry in the navigation pane (in a similar way to auto-fitting column widths in Excel) instead of collapsing the navigation pane.

    * Extending on the two above concept, I would propose an alternative, have the navigation pane in exist in three sizes:

    1. Collapsed (akin to minimized)

    2. Open, containing object names only (restored), or

    3. Expanded, containing object names and dates (maximised) – however this will only take the width required to display these three columns and not consume the entire window.

    Access should then remember two widths, the open width for object name and the expanded width including dates.

    Replace the single collapsed chevron with two chevrons that work in the same fashion that the minimise/restore and maximise buttons work.


    * I’ve seen this control implemented in another software package, however I do not recall where. Retain the same categorisation of objects, however do not scroll category headers off the edges of the list. Therefore, even if you’re looking at modules at the bottom of the list, the tables category header is still available at the top of the navigation pane and can be clicked to provide instant jumping to the tables category. This would need to be created with a threshold of a certain number of category headers that remain on the screen at one time before falling off the screen in the instance of category headers consuming more space than actual objects listed.

    * While the above solution allows quick jumping between categories, it does cause displacement of category headers depending on where you are in the list. For example, the Forms category header could be either at the top or bottom of the screen depending whether you’re at the bottom or top of the list of objects. Given the prevalence of object types as distinct from other types of object groupings, maybe an additional set of object icons can be added to the navigation bar to toggle between filtering for a specific object type, as well as an "All Objects" types for no filtering. This will allow the user to filter by an object type in addition to another category grouping and fix location of the object type filters in one location (either at the top, bottom or side of the navigation pane). To keep the interface clean for novice Access users, this persistent object type filter can be hidden or shown (just like the search bar).

    Additional Object Types:

    * Although not strictly a navigation pane issue, I’d like to see the addition of a "Ribbons" object type and hopefully a visual builder for ribbons (I’m sure this is a common request and I’m guessing not included due to development time constraints).

    * I’d also like to see the addition of a "Shortcut Menus" object type. While I understand that the fluent UI has replaced command bars, I haven’t been able to find how I can edit shortcut menus in Access 2007. Any suggestions?

    Kind regards,


  49. I learned a new trick today from Michael the PM for the navigation pane. We have heard a few of you have

Comments are closed.

Skip to main content