Provided by Allen Browne, December 2006. Updated 2 July 2008
Hint: Code does not run unless your
database is in
a trusted location.
To trust your folder, click:
The most significant release in 12 years, Access 2007 introduces major new functionality in both the engine and the interface. Seasoned developers will discover new things are possible, and casual users will find more things within their grasp.
Get up to speed with the new Access:
These observations are limited to Access, and do not address very significant new capabilities for data collection and integration with other software through WSS (SharePoint) or other software.
If you are upgrading from Access 97, you will also need the information in article, Converting from Access 97.
Service Pack 1 is essential. Apply hotfixes if you experience a problem.
| Service Pack 1 | Addresses many bugs in the original release. Details in kb 942378. |
| Access Runtime | The runtime now includes SP1 |
| Jan 28 hotfix | 1) Overlapping windows error 2) SendObject and OutputTo fail with XLS format 3) "Unrecognized format" error opening database |
| Feb 26 hotfix | 1) Performance issues running A2007 in Terminal Server on Windows Server 2003 2) Warnings installing packaged solution (created with Access Developer Extensions 2007) |
| Feb 26 hotfix | ODBC driver returns wrong results for SQLDescribeCol and SQLColAttribute |
| Mar 6 hotfix | 1) Compact creates a new database named Database1.mdb. 2) Query of ODBC data source is very slow in Design View. |
| Mar 15 hotfix | Pass-through queries prompt twice for data source. |
| Mar 22 hotfix | Query fails on fields with half-width katakana characters. |
| Mar 31 hotfix | Page Setup dialog does not save customized printer settings. |
| Apr 8 hotfix | 1) Error 3251 synchronizing replicated database with DAO ("Operation not supported...") 2) Error 3001 updating records in JET 3.x database ("Invalid argument") |
| Apr 11 hotfix | Custom shortcut menu (right-click) for subform not displayed (A2003 database in A2007) |
| Apr 16 hotfix | Database may be deleted on compact |
| Apr 27 hotfix | Performance issues with an ADP |
| Jun 24 hotfix | Menu items unusable after close or compact. |
If you know Access, the new version may leave you shocked and bewildered - unable to find a thing without the familiar menus, toolbars, and Database window. It takes some time to adapt.
Once you recover, you unearth some seriously useful new functionality beneath that pretty face:
| Feature | Applies to | Usage examples |
| Template | ACCDB, MDB | Create a template database to be used any time you create a new database. Any new database is initialized with whatever you placed in the template - settings, properties, forms, reports, macros, modules, references, error logging, splash form, ... Seriously useful for individuals and developer teams who want consistency. Solves many problem properties (Name AutoCorrect, default references, etc.) |
| Reports, datasheets | Formatted data in exports and emails. Requires a download from Microsoft. The PDF add-in can be chained into the runtime installation. |
|
| Field and Table templates | Table design | Predefined fields (XSD-based settings for name, type, length) and tables provide consistency and speed in table design. |
| Rich text | Memo fields, text boxes | For the first time, you can format text a text box: bold, italics, bulleted lists, fonts, colors, etc. Use for comments, merge letter reports, ... Applies to text boxes that are unbound, bound to an expression, or bound to a Memo field that has the Text Format property set to Rich Text (in table design.) Note: stores HTML (not RTF.) |
| Compressed storage | OLE field, Attachments, pictures on forms/reports | Images are in compressed format (e.g. JPG), with transparency (e.g. PNG.) Previous versions used used bitmap storage - impractical for more than a handful of images. |
| Append Only | Memo fields | Keeps a ColumnHistory of the text in the memo field each time it is changed. Use for legally sensitive notes (e.g. staff/client case notes.) |
| Tabbed documents | Open queries, forms, etc. | Choose between tabbed documents and overlapping windows: Office Button | Access Options | Current Database. |
| Split forms | Forms | A synchronized Datasheet (for locating the record) and Form view (for editing.) |
| Layout view | Forms, reports | Design forms and reports while viewing your data. |
| Control layouts | Form and report design | Arrange controls as a group (including labels in a different section), and manipulate them together. Add gridlines that expand to the tallest control, even where controls Can Grow. |
| Search | Datasheets, forms | A Search box in the horizontal scrollbar searches any field in real time, finding matches between keystrokes. No setup: automatically appears in datasheets and forms. |
| Filters | Datasheets, forms | Filter or sort by clicking the column header in a datasheet. No setup. |
| Totals | Datasheets | In any datasheet, depress Totals on the Records group of Home tab. |
| Bound images | Image control | Images now have a Control Source. Save the file name in a text field, and the image displays it without code. Show a graphic for each record, even in Continuous Form view. |
| Date picker | Date fields, text boxes | Calendar automatically appears beside date fields/controls. No setup. |
| Edit list items | Combos, list boxes | Set the List Items Edit Form property of the combo box. |
| Alternating row colors | Reports, forms, datasheets | Shade alternate rows by setting the Alternate Back Color property of the Section. No setup required for Datasheets. |
| Truncated numbers | Number fields | Option to show numbers as #### if column is too narrow (as Excel does.) Configurable: Office Button | Access Options | Current Database | Check for truncated number fields. |
| Macro design arguments | Macros | In Macro Design, a new column displays the arguments for each action, making it much easier to follow what the macro is doing. |
| TempVars | Macros, queries, code, controls | Collection of variables that can be used application-wide and survive code resets. Example: In AutoExec macro, SetTempVar named LicensedTo to "Acme Corporation", and add this text box to each report header: =[TempVars]![LicensedTo] |
| Save Import/Export | External data | After an import or export (External Data tab of the ribbon), you can save the operation and repeat it later. |
| Data Collection | Data | Send HTML forms in email, and automatically process the data when replies are received. (See the Collect Data group on the External Data tab of the ribbon.) |
| Template databases | Anyone wanting a sample database to use or extend | Sample databases to get you started. For business, education, personal, and the Northwind sample. |
| Free runtime | Everyone | Microsoft is providing free developer extensions and runtime Access so you can create an Access 2007 application and give it to users who do not have Access 2007. (In previous versions, this was an additional commercial product.) |
There are many other little improvements as well. For example, datasheets are more readable and colorful, the Parameters dialog (in query design) is a much larger, the NavigationCaption property for forms, and the Auto-Format styles to enhance the look of your database.
Some new features could be considered good or bad, depending on your point of view. Microsoft designed many of these features for end users, so the "bad" is most likely the perspective of the serious user or Access developer.
| Feature | Good | Bad |
| Multi-valued fields | Easy for beginner to choose multiple values in field. | The relational structure behind multi-valued fields is not accessible. Developers will find it harder to handle complex data types. Any generic procedure you write must be capable of handling fields that contain fields. You cannot use a table with a multi-valued field in an IN clause (i.e. in another database.) Problems with filters - kb 926701 |
| Attachment fields | Able to store multiple attachments for one field. Supports compressed storage. |
Attachments are complex data, so the comments above apply. Many large attachments may push you towards to 2GB limit. |
| Report view | Right-click fields in report view to filter, sort, find, copy, or follow hyperlink. | The events of the report's sections do not fire in this view. |
| Ribbon | New look. Programmable. |
Initial frustration at not knowing where to find things. |
| Navigation Pane | Can be resized, shuttered, or hidden. Configurable. Search box (not shown by default.) |
Harder to find an object, e.g. you have hundreds of queries. By default, objects sort by sub-type (e.g. crosstab queries above select queries or action queries.) Configurable. Once a category is collapsed, the Nav Pane does not remember the most recently used object under each category. |
| Modify schema (Datasheet) | Can disable: Office Button | Access Options | Current Database | Enable Design Changes in Datasheet View. | On by default, so users can add, delete, and rename fields in Datasheet view. |
| Macros more powerful | Embedded macros, with error handling. Use variables in macros - SetTempVar. Works even with code disabled. |
Still inadequate for most serious tasks. |
| Sorting And Grouping (Reports) | Easier for novices to discover and understand. | Cannot see many rows at once. Shows sorting direction for selected field only. |
| Field List | The Field List (form/report design) can show fields from all tables, making it easier for novices to add fields from other tables. | Side effects of altering the Record Source (e.g. read only, or records gone due to inner join.) Can make Design View slow to open. |
A few of the features Microsoft considered to be "less used" have been omitted from the new file format (ACCDB):
| Feature removed | Workaround |
| Security (MDW) | ACCDBs do not support security, and Access 2007 does not provide the interface to manage security for MDBs. |
| Replication | Use attached tables, connected to a database that has replication. |
| Data Access Pages (DAP) | DAPs are no longer supported. Generate your web interface through PHP or ASP. Microsoft's explanation. |
| Publish report to Excel | In the new version (MDB or ACCDB), you can no longer export a report to Excel. (Tables and queries can still be exported.) |
| Speech recognition | On Windows XP, Office 2007 cannot handle speech input. You must use Vista, or purchase 3rd party dictation software. |
Several issues with existing versions of Access are solved in 2007:
| Issue | Solution |
| Security dialogs | Every time you opened your database, Access 2003 tried to convince you that was a bad thing unless it was digitally signed. Access 2007 solves this by introducing Trusted Locations (Office Button | Access Options | Trust Center | Trust Center Settings.) |
| Mouse Wheel | Developers often coded to disable the mouse wheel so it would not scroll records in Form view. Access 2007 scrolls in Datasheet and Continuous view, but not form view. (Use the Mouse Wheel event if you want the old behavior.) |
| Email in Hyperlinks | Previous versions prefixed "http://" to all hyperlink fields. Access 2007 recognizes email addresses, and prepends "mailto:" |
| Percent format | If you type 5 into a field formatted as "Percent", Access 2007 understands it as 5%. Previous versions interpreted it as 500%. (This workaround is no longer required.) |
| Default Value (number fields) | You no longer have to remove that annoying zero Access used to assign to the Default Value property of every numeric field you created. |
| Reserved field names | Access 2007 recognizes the most common field names that cause problems (e.g. Name, Date, Month, and Year), and warns you (in table design.) It responds to only a very few reserved names, so you still need this utility or list. |
| Picture + Caption | Display both a Picture and a Caption on command buttons and tab controls (but not toggle buttons.) |
| Autofill (datasheets) | Previous versions attempted to guess the number you wanted when entering data in a datasheet. This annoying behavior has been removed. |
| Imports | Several issues solved, such as the ability to choose columns and specify data types when importing from Excel. |
| Internal margins | Scroll bars now work for controls with internal margins, and size-to-fit correctly. Controls now have padding as well as margins. |
| Filters | Several filter bugs fixed. |
| Decimal data type | Access can now sort Decimal fields correctly. |
| Queries survive if table gone | If a linked table is not present, Access 2007 opens the query in SQL View, leaving the query statement intact. (Previous versions opened in design view, removing the joins from the FROM clause.) |
Like Access 95 (the first 32-bit version) and Access 2000 (the first JET 4 version), Access 2007 is a major revision. Inevitably, the initial release of this version buggy too. Service Pack 1 for Office 2000 addressed more than 300 bugs in Access alone.
All the engine-level bugs in previous versions have been carried into Access 2007 unfixed, so you can expect the same incorrect results in your queries.
And the list of new bugs in Access 2007 has just begun:
| Bug | Comments | Fixed? |
| Spell checker corrupts rich text | If you run the Spelling Checker on a rich text field that contains a carriage return, the words are messed up. |
Yes: SP1 |
| Cannot assign specific printer to report | In report design view, the Page Setup dialog lets you assign a specific printer to the report. Access 2007 loses this setting, and the report goes to the default printer. (A report assigned to a specific printer in a previous version still works.) |
Yes: hotfix |
| RecordSource property not updated | If the source for a form/report is a SQL statement, and you click the Build button beside the RecordSource property, your changes are lost when you return from the query designer (unless you move to another property.) |
No |
| OldValue incorrect in multi-valued fields | While a form is being edited, a control's OldValue should indicate the value that will be restored if you undo the edit. The OldValue of a combo bound to a multi-valued field yields the current value, not the old value. |
No |
| Rich text limited in subforms | A rich text control in a subform is barely useable. Since the formatting on the ribbon is disabled, and the minibar does not appear, you are limited to keystrokes such as Ctrl+B. |
No |
| Compatibility issues | Access 2007 cannot understand some expressions that work in previous versions. For example, this expression in the Control Source of a text box results in #Name: |
No |
| Interface issues | There are some problems with the new interface, e.g.:
|
? |
| Shift+Del (Navigation Pane) | If you Shift+Del an object in the Navigation Pane (deletion without confirmation), Access misreads the held-down shift and selects all previous objects. So if you delete the last form, and slip - tapping Del a second time, or not releasing it before the first AutoRepeat -you just deleted ALL forms, without confirmation. |
No |
| Events don't fire for Image control | If an Image control is on the page of a tab control, its Click, Mouse Down, and Mouse Up events don't fire. | Yes: SP1 |
| VBA References in Windows Vista | No | |
| Export to PDF: Underlining not shown | Underlined labels and text in a report are not underlined when you export to PDF. Workaround: use an expression in a rich text box, instead of plain text or label. (Courtesy Alan Cossey.) | No |
| Office Live data accepted, but lost | If a database linked to an Office Live site is taken off line, and opened with an unactivated Access 2007, the user is warned that the data is read-only. However, the form permits data entry, but loses the data when the form is closed. (Courtesy Alan Cossey.) | ? |
| Data loss on compact | If you have an AutoNumber field that is not the primary key, Access 2007 allows an Update query to update the field to Null. When you compact the database, you then lose all records in this table. | ? |
| Crash opening report with fields assigned programmatically |
If you assign the Control Source of text boxes in Report_Open, you may crash Access 2007 if the report is more than one page long. (Similar to kb 927536, but is issue not limited to Layout View.) | Yes: hotfix |
| Custom Shortcut menu fails | Custom shortcut menus (right-click) do not work in subforms. Hotfix released. | Yes: hotfix |
| Custom Toolbar buttons may not work | Some toolbar buttons do not work in MDE, e.g. if you copied the Close button from the Print Preview toolbar. | |
| Navigation buttons do not auto-repeat | Holding down the navigation buttons (left end of horizontal scrollbar) no longer spins through records. | No |
| DAO synchronise may fail (error 3251) | Hotfix released. | Yes: hotfix |
| Microsoft's list of bugs | See the Errors section of http://support.microsoft.com/ph/11265. | N/a |
| Access Junkie's list of kb articles | Jeff Conrad (ex-MVP, now working for Microsoft) has created this list. | N/a |
| Click event reports wrong record | If you change record in the Click event of a label, image control, text box etc (not command button), Access 2007 reports the old record until the event ends. | No |
| Sendkeys may fail | Unless previous versions of Access are also installed, macros that use Sendkeys may fail with the message: The SendKeys action requires the Microsoft Office Access Utility Add-in to be loaded. |
No |
| Changing Text Box to Label | Access 2007 crashes when you save a form after right-clicking a text box and choosing Change To | Label. | No |
| Date picker shows in queries | In table design, you can set the Show Date Picker property to No for a Date/Time field, but in a query the field still has the date picker. | No |
| Form named the same as a table/query fails | Error: The expression you entered refers to an object that is closed or doesn't exist. Kb 926700. | ? |
| Error moving pages in reports | Error: No current record. Kb 888635. | ? |
| Changing Control Source crashes Access | Access may close if the form/report that has a subform/subreport. Kb 927536. | ? |
| Combo becomes transparent | A combo may display as transparent when focus leaves it. Workaround: set the AlternateBackColor property of the the (Detail?) Section to something other than "No Color", e.g. #80000027. | No |
| Table/query not found | Occurs if table/query has the same name as a form/report. Kb 926700. | ? |
In some cases, Access 2007 deletes the database when you compact it. To prevent this:
Microsoft Office Access can't delete database name.accdb after compacting it. The compacted database has been named Database.mdb.
If you compact a database using the same name, Microsoft Access creates a new compacted database and then deletes the original database. In this case, however, the original database wasn't deleted because it is read-only.
If you can, remove the read-only status, delete the original database, and then rename the new database using the original name.
If you can't remove the read-only status, inform your workgroup administrator.
The settings below are suggested for developers who do not want users modifying the database schema or objects.
| Setting | Issue | Comments |
| Trusted Locations | VBA code is disabled by default. | Add the path where your databases are stored: Office Button | Access Options | Trust Center | Trusted Locations. |
| Name AutoCorrect | Corruptions and bugs. | Disable for each database: Office Button | Access Options | Current Database | Name AutoCorrect. |
| Schema changes | Users can delete fields, rename fields, and add new fields in Datasheet view. | Uncheck this option: Office Button | Access Options | Current Database | Enable design changes for tables in Datasheet View. Important: Do this for every database, including any existing ones that might be used under Access 2007. |
| Layout view | Users can modify forms and reports. | Uncheck: Office Button | Access Options | Current Database | Enable Layout View. Alternatively, set AllowLayoutView to No for each form and report. Note: Apply this setting in each database, even if you had set AllowDesignChanges to No in previous versions. |
Hint: Create a template with these options set, so they are applied whenever you create a new database in Access 2007.
Other settings that differ from previous versions:
Access 2007 can natively work with MDB files in Access 2000 format or Access 2002/2003 format. It will modify those files, e.g. adding new hidden system tables (such as MSysNavePaneGroups) and properties (such as UseMDIMode), but the files still work in the old versions. If you need to programmatically determine the file format, version of JET/ACE, and version of msaccess currently executing, see our Splash Screen utility.
Without extensive testing, the compatibility seems surprisingly good considering how different the new version is. It transparently uses Microsoft DAO 3.6 Object Library when you open an MDB, but Microsoft Office 12.0 Access database engine Object Library when you open an ACCDB, and since both libraries respond to References("DAO"), your existing code works in both versions.
In converting an old database, you could strike problems with deprecated items such as the FileSearch object, dialogs that no longer exist in the ribbon interface, or objects related to the removed features.
For some reason, you can export a table or query in Excel format, but not a report. Both OutputTo and SendObject fail with error 2282: The format in which you are attempting to output the current object is not available.
Do not convert a digitally signed database to an ACCDB. Access 2007 will prevent you modifying the code if you do.
Access 2007 does not support ADPs as well as previous versions. Microsoft recommends using attached tables instead, as explained in the book, Microsoft Access Developer's Guide to SQL Server by Andy Baron and Mary Chipman. Hotfix released.
If you install Access 2007 along with previous versions, you may find that, over time, help begins disappearing from the previous versions. For example, if you place the cursor in a property/method in code (such as Visible) and press F1, you get a completely blank window (no content.)
Service Pack 1 also addressed the tedious delay each time you switch to Access 2007 after using another version. The reinstallation delay is now 20 seconds, rather than the 3 - 5 minute delay.
These links contain technical information to help you get up to speed in Access 2007:
| Site | Description |
| Migration considerations for Access 2007 | Technet article, listing conversion/upgrade issues. |
| Menu/Toolbar to Ribbon (Excel workbook) | List, matching all previous menu and toolbar items to ribbon locations. |
| Menu/Toolbar to Ribbon (Interactive) | Click on the A2003 interface to be shown the A2007 location. (Uses Flash.) |
| AccessRibbon.com | How to create and manage ribbons for Access 2007, by Avenius Gunter. Also in German. |
| AccessJunkie.com | Jeff Conrad's site on Access 2007, with many links in Access 2007 Help Topics and Access 2007 FAQ. |
| Access-Freak.com | Access 2007 site by Oli S (MVP). |
| Clint Covington's blog | Articles such as Ribbon Extensibility and Creating Filter Favorites |
| Access Team blog | MSDN blog, with contributions by the Access team; links like Adding programs to deployment packages. |
| Transitioning existing apps to Access 2007 | MSDN article by Jan Fransen and Ken Getz |
| Optimizing Access Apps Linked to SQL Server | MSDN article by Andy Baron |
| Save as PDF | The add-in from Microsoft |
| 2007 Office System Driver | Microsoft's driver to connect to Access 2007 databases (accdb and mdb) from non-Office software. |
| Access 2007 Solution Center | Microsoft's "top issues" list for Access 2007 |
| Developer Extensions and Access Runtime | Microsoft's royalty-free runtime for Access 2007. (See kb 937998 if Developer disappears from Office Button.) |
| Database window for Access 2007 | Database Window like previous versions. COM add-in by Avenius Gunter. Also in German. |
| Snapshot viewer for Access 2007 | The snapshot viewer (for viewing exported reports) is not installed by default in Access 2007. |
| Help for Access 2007 | Microsoft's help page for Access 2007. |
| Customize and control the Navigation Pane | Microsoft's suggestions on how to use the Nav Pane as the interface for your application. |
| Home | Index of tips | Top |