[ Go to June 1997 Table of Contents ]|
-- by Serdar Yegulalp
Microsoft Access 97 is a fine successor to earlier editions of the same program. If you've used previous editions of Access, you'll be pleased to find the basic look and feel of the program intact, despite all the changes wrought by its inclusion in the Office 97 suite. (These include revised tear-off tool and menu bars, the same spell-checking algorithms and dictionaries used across all Office 97 applications, and a universal macro language.)
Access 97 has all the same features and capabilities of Lotus Approach 97, our current WinList choice for best personal database. The main differences between the two are in ease of learning and appropriate types of applications. Approach 97 is much more approachable, if you'll excuse the pun, making it better suited for individuals without a strong programming background. Despite Access 97's helpful wizards and excellent documentation, it has a large learning curve. But with Access 97's processing power, you have a database that's more appropriate for professionally developed multi-user and workgroup-level applications. We've added Access 97 to the WinList as the best database for those situations.
Part of its power gain comes about because Microsoft rewrote a good deal of the code for Access 97. To check performance, we ran a macro benchmark that performs several long, processor-intensive table- and query-filtering operations. We originally wrote the macro benchmark with Access 95 and then converted it to Access 97. The 95 version ran in 142 seconds and the 97 version in 120 seconds-a respectable 15 percent improvement.
The basic table/query/form/report/code structures of Access databases haven't changed, although there are new features in all of them, and revisions to old ones. The most obvious changes are the many new wizards that automate some of the more difficult or repetitive tasks. We especially liked the wizards for creating some of the trickier elements in a database, like subforms and subreports that are based on data in a main form. We were able to put together just such a dependent subform in under a minute and then tweak it to our satisfaction.
Like Lotus Approach and Claris Corp.'s FileMaker Pro, Access includes predefined, editable templates for specific kinds of databases. The new templates in Access 97 are wizards for creating databases geared toward both businesses and individuals-inventory control, expenses, household budgets, book/record/ video collections and so on. The wizards give you a good deal of interactive control over what fields to include in the databases and what views to present, so you can define exactly the database you want.
Microsoft has joined its competition and provided connectivity to the Internet in Access 97, in such areas as exporting reports and forms into HTML format and supporting hyperlinks that connect you to other parts of your own database or to the Web. The Export to HTML function lets you publish your data as a static HTML page, just like Approach 97. If you buy the Office 97 Professional Edition ValuPak and use Microsoft Back Office and Internet Information Server (with its Active Server Pages) as your Web server, you can also publish an interactive database on your Web site. One of the new data types is Hyperlink; Access 97 knows that the data is more than just ASCII characters and will display it as a live URL. Double-clicking on the field calls up Internet Explorer, or whatever browser is currently installed as the default, and displays the page that corresponds to the URL. In addition, if you have Internet Explorer 3.0 installed, a preregistered ActiveX control will let you embed a Web browser directly into your forms.
Access has traditionally been a programmer's database, and that hasn't changed. If anything, the programming has gotten better. Now Access 97 and the whole Office 97 suite use Visual Basic, Applications Edition, in both the code and macro segments. Like Lotus did with LotusScript, Approach 97's scripting language, Microsoft has beefed up VBA, supplying a version that is much richer than its predecessor. Programming in Access 97 feels like real programming and not like writing overblown macros.
VBA has many features that will appeal to programmers. A built-in object browser lets you determine what VBA properties can be used in any database object-forms, reports, ActiveX controls and so on. VBA has a form of Word 97's type-ahead facility; as you type part of the name of a registered object, the rest of the name gets spelled out in a hovering dialog box just above the cursor. We found this a timesaving and mistake-proofing tool, especially useful in circumstances where we couldn't remember the exact name of the command we needed or the full name of a referenced object.
You can convert older databases into Access 97 or interpret them nondestructively (for backward compatibility), although you can't make changes to underlying data objects without converting databases to Access 97 format. Fortunately, converting older databases is a one-step, risk-free process: Just choose the Convert option from the Tools menu, point at the database in question, type a new filename, and you're done.
Microsoft has improved the distribution methods for Access, including the option to export an Access 97 database as an MDE file. This option compiles all modules, removes all editable source code, optimizes memory use and compacts the destination database, making the final result tight, transportable and protected from prying eyes. Approach APT files work the same way, although there's no runtime version of Approach, so APT files are read-only; MDE files can be distributed with a runtime version of Access using the Developer's Edition of Access 97.
Access devotees will enjoy these changes to their favorite database; they're relatively unobtrusive and make some of the repetitive database-building work much easier. The power of Access 97 makes it ideal for applications in workgroups. It's great when you want something that can handle multiple users easily, but you don't need the extreme transaction processing facilities of an Oracle or a SQL Server.
Access 97 joins the WinList as the programmer's database of choice.
SIDEBAR: Codehead Nirvana
Microsoft's Web site for Access 97 and the rest of the Office 97 family includes many pages offering resources to developers. Here are the more useful ones:
-- Building Applications with Microsoft Access 97 is available at http://www.microsoft.com/AccessDev/Docs/BApp97/BApp97.htm. This is a step-by-step guide to creating and deploying an application in Access 97. The online book covers everything from Internet connectivity to distributing applications on disk.
-- Most of the time, converting databases from Access 2.0 or Access 95 to Access 97 is a semiautomatic process, but there can still be snags. This page-http://www.microsoft.com/AccessDev/AccWhite/Acc97Cnv.htm-covers potential conversion problems.
-- If you've been using macros rather than Visual Basic, Applications Edition, in your Access databases, http://www.microsoft.com/AccessDev/AccWhite/MacroWeb.htm has information on converting existing macros to VBA and on applying many of the techniques from macro development to VBA programming. These pages will clear up any confusion about the advantages and disadvantages of implementing a particular task as VBA code or as a macro.
-- Experts only: If you want to have a look at the code used to construct many of the wizards used in Access 97, you can find them at http://www.microsoft.com/AccessDev/AccWhite/ViewWiz.htm. They're valuable learning resources, although Microsoft doesn't provide any technical support for them.
SIDEBAR: Expand Your Access
Access 97 comes with a great many goodies out of the box, but if you plug into Microsoft's Access site (http://www.microsoft.com/AccessDev/Freesoft.htm), you'll find a wealth of downloadable add-ons for both Access 7.0 and Access 97. Here are a few of the best:
-- Internet Assistant for Microsoft Access 95: This add-on lets you collect data from tables, queries, forms, reports or all of the above, and assemble them into a static page. It also makes use of other HTML documents as templates. The program is easy to work with, but it's really just a quick-and-dirty solution for getting data into HTML.
-- Exchange/Outlook Wizards: These two wizards let you tap right into your Exchange folders and either link or siphon the data there into an Access database. (After all, an Exchange server is basically a database server, right?) Supply your log-on profile and password, and your Exchange folders are displayed in a collapsible tree format. Select the folder(s) you want to link or copy in, and hit Finish. These wizards are useful if you want to create a custom offline storage solution for your mail.
-- Menu Builder Wizard: This wizard creates custom menus in Access 7.0 or Access 97. You work from a blank menu bar or from an existing menu bar with an Access database as a template. It follows the same paradigm as the menu editor in Visual Basic and Visual C++. The learning curve is a bit steep, but once you get the hang of it, nearly any type of menu arrangement is possible.