How to improve the visuals of Access applications

I’m interested in what limitations you have experienced in trying to make your Access application look more modern. What are the limitations of Access forms and reports that keep you from creating applications that look like Web 2.0 apps? Some of the things I was thinking about include:

  • MouseIn and MouseOut events

  • The ability to control style colors of hyperlinks

  • The color of the selected item in list and combo boxes

  • Easier way to build dropdown menus in forms

It isn’t clear how much of this list would actually make it into the product–I would just like to compile a great pick list for the planning process.


Comments (22)

  1. Manfred says:

    Clint, it’s very easy to implement dropdown menus in Forms with shortcut menus (that Access 2007 doesn’t support, sic!) :


    Forms limitation:

    – Conditional Formatting limited to 3 conditions, too slow, not enough flexible in the formatting options.

    – We can creat new controls at Design Time but not a Runtime with VBA.

    – Access doesn’t support native TreeView and ListView controls

    – Access doesn’t support SubForms in Continuous forms (only in DataSheets Forms, and this is much strange)

    – Formatting/Layout options of Comboxes/ListBoxes are very limited (and the limit of the 65536 records is anachronistic)

    –  We cannot insert buttons in DataSheet view.

    Reports limitation:

    – It’s impossible to insert boxes or other vectorial objects (only lines and rectangles) with standard ToolBox

    For the rest, Access Report Engine is very powerful…


  2. I wrote 2 articles for Smart Access on this very subject:

    1.  Giving your Access Form Controls Web-Style Behaviours

    Smart Access, October 2003 Issue

    2.  Breadcrumbs, or How I learnt to Love the Switchboard

    Smart Access, September 2005 Issue

    The code in the October 2003 article works very well and I use it in all apps to give them a modern feel (web paradigm, etc, etc).  A ‘style sheet’ However, it is all based on the mousemove event, so mouse in and mouse out events would be good.

    The 2005 article shows how to give a switchboard a clickable breadcrumb, that allows the user to click their way out of nested switchboard menus.  I didn’t have the time to fully optimise the code, so it is a bit convoluted.

    In both cases, the classes can be dumped in a reusable library file, but each form still needs to deal with initialization and termination, so there is extra baggage.  However, for the price of one, by handling different events, the same classes allow highlighting of input controls, expanding of text boxes to display all the text it holds, as well a fully customisable ‘tab control’ that allows you to choose colours other than Stalin Grey, so there is some payback.

    But the point of all this is:  You have to go to a lot of trouble to get UI behaviours in Access apps that users brought up on the web nowadays take for granted.

    I will look up the link for drop down menus (fortunately, I understand written Italian!), but…  aren’t we supposed to use the ribbon now?

    With larger and larger screen sizes, forms that just adapt to the screen size would be good.  Yes, I know you can use APIs, but ‘Tom’ doesn’t.  You also need to be good at arithmetic to get a plethora of controls to do what you want.  Poor Tom is strugglling to think relationally, and he also has to know what 2 plus 2 is.

    Outlook style side bars would be good.  Why not?  We’re worth it!

    Wouldn’t it be better to put .NET into Access and be done with it?  I write a lot of classes to control the interface, so a constructor would be nice.  What about some XAML?  OK, OK, Father Christmas doesn’t exist.

  3. Rick Kaye says:

    Hi Clint:

    Any updates on the Access Runtime? My apps are ready to deploy subject to testing in the runtime.


  4. Andrew,

    Interesting–I will send you follow up email. We did enable forms to adapt to screen size with the new anchoring in Access 2007.


    Thanks for your feedback.


    The runtime is coming along. The target date right now is June. We are making sure it has the right features and as bug free as possible.

  5. Cory says:

    It’d be nice to have a method of controlling the styles across the forms and reports within an application. Something like style sheets or themes in ASP.NET would make it very simple to maintain a consistent look and feel.

  6. Alan Cossey says:


    The non-availability of the runtime before the "target date" of June is not good. said, and still says, "Shortly after the release to the general public of Microsoft Office Access 2007 (January 2007), Microsoft will make available the Access 2007 Developer Extensions and the Access 2007 Runtime."

    Some people have been using Access 2007 trial version on that understanding that "shortly" actually meant "shortly" and are now going to have their trial version expire before the runtime is ready. Do you know whether uninstalling the trial version and the reinstalling it allows the user to continue to use it, please? If not, there are going to be some unhappy people around.

  7. EFcoins says:

    (I do not use 2007, if that already does these things, I appologise)

    Buttons and ckeckboxes should have background colors

    Checkboxes should be resizable

    I have some code which allows a form to have several layouts, the users screen resolution determines which layout is displayed. I think this should be built into Access

    Transparrent images should be supported (instead of the workarounds now required)

  8. Lee says:

    I can’t believe that it’s 2007 and Access still doesn’t have a TreeView or ListView, or indeed any additional controls.  Was adding more controls and form functionality considered at any point for 2007?

    There are still so many things one could easily do even with VB6 which are very difficult in Access to do without clunky workarounds.

  9. Lee says:

    Clint, further to Andrew’s comments re: putting .NET into Access, is it conceivable that some future version of Access (maybe 15!) could actually be build with .NET?

  10. Oli-S says:

    Hi Clint,

    – more control properties e.g. shadows, round edges, transparency (fading)…

    – more control display flexibilities e.g. layers (not just bring to front/send to back)

    – more object properties e.g. controlling the Scrollbar colors, title bar, borders (color, size/strength, rounded), navigation buttons/record selector customization

    – maybe application specific properties e.g. scrollbars, status bar, task bar, ribbon, window frame…colors/effects

    – internal fonts capability so you can develop with a font you have on your machine and deploy it to anyone without worries

    – better tab control customization

    – build in gradient color support (e.g. object backgrounds)

    – not sure if this is in 2007 (I heard Jeff mention something)…an easy method of creating and managing internal templates for forms/reports (maybe a wizard 😉 which is portable to other applications…something similar to CSS

    – combobox/listbox different row and column colors and checkboxes or images as values

  11. Mark Davis says:

    Easier application background color/image alteration. (Not just forms and reports.)

    Rounded corners on controls would be a delightful if not sightful improvement! Especially command buttons, toggle buttons & tabs controls.

    Easier use/employment of AVI, MPG, animated Gifs and such (as form enhancements) would be a treat.

    And how about sizeable checkboxes & radio buttons?

    OK, there’ my 2¢ worth . . .

  12. Ryan says:

    I have found with a little creativity you can make Access forms look relevant and compelling.

    Couple things that would be nice:

    * collapsible elements that move the page content for errors (Go to and click signup without entering data or goto and click the "what does this mean?" text beside the striking a nerve heading.

    * Better button customization so you still get all the click actions of a button without the grey look.

    * Better TAB customization so you could make your tabs look modern.

  13. Steve says:

    I have been an access power programmer for 10 years.   I have used access 2007 now for 2 months and I absolutely hate it.  In the attempt to try to make it easier to use for the now power user it has been fubar for the power user.

    1.  The move to a navigation bar is a complete joke.  When you have over 100 tables or forms or queries is it impossible to locate items quickly.  There was nothing wrong with the full screen database window that gave us a larger view.

    2.  The navigation bar is very hard to get rid of (it always rides on top of everything)  I finally found the code to hide it but that was a PITA.

    3.  The lack of a runtime makes it impossible to distribute apps.  I have 2 right now that I have to do in 2003 just so I can distribute them.  

    4.  The ribbon SUCKS.  Let me state that another way.  It is the worst idea I have ever seen.  It takes up way to much screen space and is not as intuitive as Microsoft would like to believe.  

    These are the top things I can think of right now.  There are many more that I will list when I remember them.  

    Another item that was messed up in 2003 but I have not tested in 2007 is the support for transparent background on images.  This was great in XP and then screwed up in 2003.  IT NEEDS TO BE FIXED IF IT HAS BEEN ALREADY.

  14. Great comments everyone–keep them coming!

    I hear you all about the runtime–unfortunately there isn’t anything I can do to speed up the process. People are working hard on it.


    We do have ways to anchor control and have them resize to fit the window. Also, you can use PNG with tranparency in Access 2007 with the Preserve Image Format property.


    Interesting idea about collapsing elements. You can do it today it is just a major pain to update the top property of all controls on the page. Hmmm…

    I like all the suggestions and will make sure they get forward to the feature crew looking at this area.

  15. I’d like to see the ability to display pictures in data sheets — so that I can add my own health indicator type graphics.

    Conditional Formatting Rules — could the Excel 2007 options and rules be added?

    Can something be done about the performance of conditional formatting rules?  Currently you see the data sheet of data except for the conditional formatting rules, then then you see it slowly fill in the rules for each record, the whole table "blinks", etc.

    Give us the ability to have "disabled" formatting of cells in a data sheet, but still let them be selectable.  Right now you have to do Locked = True, Disabled = False — but then there’s no visual cue to the user that they can’t edit the cell contents — I want to be able to make those cells have a Grey or "disabled" looking font like if you set the cell to be disabled, but I want the user to be able to click in the cell so they can use the right-click filter sorts, select and copy data, etc.  Currently the only work around is to add a conditional formatting rule like "1=1" and then set the formatting to grey, but then you end up taking a major performance hit.

  16. Teatime says:

    I second the limited formatting options of Listboxes.

    As for the ribbon: The lack of an assistent/editor for custom ribbons is a drawback.

    Also I would welcome the support of popup menus without having to code them in VBA. (Perhaps an extension to the ribbon, as the popups in pre-2007 was a variation of commandbars?)

  17. AL says:

    I agree with almost all the previous suggestions.  I would add the ability to select the highlight color and selection rectangle color for the active row and cell in a datasheet view.

    Also, I would provide the option to use and advanced VS2005-like commandbar object instead of the ribbons.  Ribbons would be a lot nicer if we could reduce the huge size of the contents, specify custom bitmaps, add custom controls, etc.

    Also, we need a trivial easy way to program task bars, in the same way an Access form is created.  And I would allow multiple dockable taskbars (Navigation panes) like VS 2005.

  18. AL says:

    There is a bug in the tab control introduced in Ac 2003, and still present in 2007.  When the background is set to transparent, the image on the hosting form does not show.  Instead the backcolor of the parent form is painted onto the tab controls background.  This is really messing up my UI big time.  Is there a way to get the form’s background image to show through?

  19. JeffK says:

    I second the nomination to fix the tab control in Access 2007.  That alone makes the program unusable unless I want to spend weeks redesigning hundreds of forms.

    I’ve always wanted to be able to add a subform to a form in continuous view.  It takes quite a bit of time to manipulate a similar interface.

    I love the formatting options added to the other office programs (bevelling, shadows, reflections, etc.)  It eould be nice to have them in Access.

    A MouseOff event would be excellent.  Getting mouse move reactions to work takes too much time and extra code now.

    Most of all I just want the current options to behave acceptably.  For example, I can put an image background in and create mouse move events but Access 2003 and 2007 have a nasty flickering problem that is unacceptable to users, so I have to remove most of the nice formatting and web behavior for those versions.  This is more than just the tab and unattached label problem that can be fixed by changing to textboxes, it happens basically any time mousemove events are present with image controls on the form.

    After six months the Access 2007 design interface is still tough to swallow for long-time power users.  I’d like the option to get rid of the navigation pane quickly, like pressing F11 should just HIDE it not collapse it.  The search feature is great but the lack of a "details" type view and the old listview style with multiple columns is sorely missed.  I also hate the way controls are highlighted when selected in design view.  The selection indicator box is so thick that I can’t do detailed alignment without constantly deselecting and reselecting the control.  There’s also a misbehavior in selecting a ForeColor property that when you click the […] button the current color is not retained – it keeps defaulting to red 255 no matter what the curret property is.  The same thing does not happen with BackColor.  

  20. Cory says:

    Regarding Label controls, it would be nice if they had a Tab Stop property so that they would be accessible via the keyboard.

  21. AL/Jeff,

    Can you guys send me pictures of the behavior in Access 2002 and how it changed in 2003? The developer in the area knows of the limitations but we are unaware of how it might have changed from previous versions. Pictures might help us get a better understanding of what is going on.


    Can you send me exact repro steps for the […] bug? I’m not able to repro it. Also, if you want to send me repros of mouse move and image flicker bugs I can see what can be done in Access 2007 SP1. We are looking at a flicker issue and it would be great if maybe the fix can address this issue as well. MouseMove problably doesn’t get as much testing as it should because the event model isn’t very easy to use. If we did MouseIn and MouseOut it would make it far easier for people to implement visual transitions.

  22. Keith Morris says:

    When is  Access 2007 SP1 due out?

    Will the right click menus in sub forms be fixed in SP1? This is an important feature for an Access app thatI am migrating to A07.

    Will DAO replication be fixed in SP1? See this UA thread