
Reporting may not be the coolest thing in the computer world these days, but the need for formatted reports is still the driving force behind many database applications. Where they used to be simple columns of text and numbers printed in a non-proportional font, modern reports have matured into presentation-quality publications thanks to tools such as Crystal Reports. Now Crystal Reports 5.0, the latest version, adds more types of reports, more report distribution options, and more supported database management systems.
I tested Crystal Reports Professional 5.0 on a 50MHZ 486 with 16MB of RAM and found the design and runtime performance to be adequate. First I ran the 16-bit version on Windows 3.1 (it also runs on Windows for Workgroups), and then I ran the 32-bit version on Windows NT 3.51 (it also runs on Windows 95). Although the 16-bit version crashed a few times when I was working with complex reports, the 32-bit version performed flawlessly.
I'd like to single out the User's Guide for praise. Written documentation of reporting tools is often skimpy compared to other types of application tools, but Seagate Software has produced an epic 700+ page User's Guide that does an excellent job of describing the product's features and illustrating their use with prodigious examples. For those of us who prefer learning by reading manuals, this guide is a big plus. Of course, Crystal Reports 5.0 also includes online help, and a "New Features Interactive Learning CD" is available separately for $99.
It's also worth noting that reports created with earlier versions of Crystal Reports, including Crystal Reports for Visual Basic, are fully compatible with version 5.0.
You can design multiple summary crosstab reports to summarize multiple different column values in a single crosstab cell -- for example, summing both quantity and extended price in a sales crosstab report. (See Figure 2.) Conditional reports let you format data conditionally based on values in the database or parameters passed to the report at runtime.

Distribution options have also been enhanced in 5.0. Previously, reports were printed on paper or exported to word processing or spreadsheet files. Now, reports can be exported to more than 20 different formats, including HTML, and distributed via email (MAPI and VIM), Lotus Notes, Exchange, or the Web. The HTML export feature lets developers publish report data on the Internet and on corporate Intranets. (See Figure 3.) At this point, Crystal Reports 5.0 doesn't generate dynamic HTML pages, so it will probably be used mainly to generate static HTML pages on a periodic or as-needed basis. Crystal Reports 5.0 can export HTML pages optimized for Netscape Navigator 2.0, Internet Explorer 2.0, or the HTML 3.0 standard.

Many new database management systems are supported in version 5.0. The Standard edition includes native support for a variety of PC database and file management products; the Professional edition adds many SQL database servers. A partial list of the SQL products that can be used as data sources in Crystal Reports includes: Oracle7, Sybase SQL Server 10 and 11, Microsoft SQL Server, DB2/2, and Centura SQLBase. The PC products include ACT! 2.0, Clipper, Btrieve, dBASE, FoxPro 2.6, Access, Visual FoxPro 2.6, and Paradox. In addition to native support, Crystal Reports 5.0 can access a broad range of additional ODBC data sources, such as ASCII files, Informix, Lotus Notes, Excel, Visual FoxPro 3.0, Computer Associates CA-Open-Ingres, Pervasive NetWare SQL, Sybase SQL Anywhere 5.0, and all other ODBC-compliant sources.
Other new features include a SQL query tool that you can use to create data sources for reports, an enhanced ActiveX (OLE/OCX) control with 90 properties, a drawing-style Report Designer, new Report Experts, and more than 100 example reports. These include 12 prebuilt reports for Microsoft BackOffice (NT Event Log, Exchange Public Folder, SQL Server, and SMS), and a wide variety of sample reports that you can use as templates for building your own reports.
I found the new Report Designer interface easy to use; the drawing environment should be easy to learn for anyone who has used a PC-based drawing tool before. You can set the "Snap To Grid" checkbox to force all report objects to align with a coordinate grid (either visible or invisible), or you can turn it off to allow free-form drawing so that report objects can be placed at any position in the report.
To select a different set of data each time the report is run, it's necessary to pass parameters to the report. Crystal Reports 5.0 performs this task with parameter fields, a special type of report object that prompts the user to enter a value each time the report is run. For example, a record selection formula such as the following:
{customer.REGION} = {?Region} AND
{customer.SALES} <= {?Sales}
would prompt the user with dialog boxes at runtime for the desired Region and Sales values.