I've been working with Microsoft Access 2007 beta for some time, and as the product approaches "gold" release, it's time to get specific about what's new. There are many good changes, but some that are disappointing. Overall, Microsoft can be proud of Access 2007. Here's a rundown on some of the new features.
Tabbed Interface: Opening Access 2007 reveals a radically changed user interface. The main window has a tabbed work area where all open objects reside. The tabs are terrific. They help keep the development area clean and tidy. There are no windows hidden under other windows, and its much easier to keep track of what's open.
The tabbed area is intelligent. For instance, if you have a form open in design view, and have the property sheet floating on top of the form, switching to another object such as a table that does not use a property sheet hides the form's properties.
Navigation Pane: The Database Window is dead -- long live the Navigation Pane! Navigation in Access applications has always been problematic. The old Database Window was a compromise of the needs of users and developers. It worked, but it got in the way -- a lot!
Microsoft wisely replaced the Database Window with a powerful "Navigation Pane" docked at screen-left. The collapsible Navigation Pane contains all the usual database objects (tables and things), but also some exciting new capabilities.
You may recall the "Access Wish List" Editor's View I wrote some time ago (http://advisor.com/doc/13958). More than a hundred reader comments have been added to my original list, and a frequent wish is the ability to logically group objects in the Database Window, so all related objects (tables, queries, forms, etc.) can be viewed at the same time. Well, you got it!
The 2007 Navigation Pane lets you create as many custom groups as you need, and assign meaningful names to them, such as Customers, Products, etc. Add whatever database objects you wish to a group, and, when you navigate to your database's top-level view, you see all the groups you've created. Each object also appears within its respective object type grouping.
Report Layout View: Without a doubt, Layout View is the most important upgrade to Access Report Designer since its inception. Rather than always working with reports in the "banded" Report Designer, developers now have the option of using Layout View to adjust how report controls are placed on the report's surface. Layout View displays the report exactly as it will appear printed on paper. You are able to resize controls, and change appearance properties such as font, width, and BackColor. Although you cannot change grouping or make other structural changes, reports are all about appearance, and Layout View lets you visualize exactly how a report will look when printed, and make the adjustments to get the desired result.
Embedded Macros: Embedded macros (which are, apparently, only available in the new Access 2007 ACCDB file format) are the answer to a real development need. Access macros now support simple variables, and limited looping. Macros now even allow some error handling. (But don't expect to do any object-oriented programming using macros!)
But, to me, the most interesting aspect of Access 2007 macros is the ability to embed a macro within a control's event property. If all you need a button to do is open a form or report, you no longer need VBA code to accomplish this simple task. You can now write a simple, one-line embedded macro that doesn't clutter up the form's module, doesn't require error handling, and is incredibly easy to set up and use.
Also, embedded macros travel with their hosts. Exporting a form or report to another Access database takes the embedded macros with it.
Finally, embedded macros are considered "trusted" code by Access. As you'll quickly learn once you start working with Access 2007, Microsoft is taking code security very seriously. (Some would say Microsoft has gone quite over the top on code security, but it's really tough to devise a security mechanism that smoothly meets all needs).