Which is better, Overlapping Windows or Tabbed Documents?
Prior to Access 2007, your only choice was to use Overlapping Windows, where each form or report opens in a separate window within the Access application. By default, these windows can be resized, maximized, minimized, shown side-by-side, etc.
Access 2007 added support for Tabbed Documents, where every form and report occupies all of the available space in the Access "canvas." To navigate among the open forms and reports, users click on horizontal tabs that run across the top of the application. The user interface is similar to that of modern web browsers.
This is a database-level setting and it cannot be changed without closing and reopening the frontend database.
Let's look at the advantages of each approach.
Advantages of Overlapping Windows
- Users can see multiple forms/reports on-screen at once
- You can control where windows appear relative to one another
- You don't have to design every form to look good full screen
Advantages of Tabbed Documents
- Familiar "browser-like" user interface
- Easier for users to switch among many open forms/reports
- Fewer design decisions to make (since layout options are limited)
- No need to worry about how and where forms/reports are saved while in Design View
I'm Team Overlapping Windows
Every single Access application I've ever written uses overlapping windows.
I Hate the Disadvantages of Tabbed Documents
Occasionally, I will try writing an application using Tabbed Documents.
I inevitably give up after a short time. I find the limitations too restrictive. I like the flexibility of showing multiple forms on-screen at once. I never make it far into a project using Tabbed Documents before I run up against a wall for which there is no workaround.
I Have Workarounds for the Disadvantages of Overlapping Windows
I employ several tools to work around the disadvantages of overlapping windows:
KeepFormOnCanvasfunction automatically moves forms to prevent Access from shrinking them if the main Access window is small
FillAccessWindowfunction helps avoid the "cascading maximize" behavior
- I avoid overlapping by using
DoCmd.MoveSizeto open parent-child forms relative to each other on-screen
- For some applications, I write a "Cleanup" routine that runs prior to each release that–among other things–will open certain forms in design view,
DoCmd.MoveSizethem into specific positions on-screen, then save and close them
Let me know which side you're on (and why) in the comments below:
- Team Overlapping Windows OR
- Team Tabbed Documents