Back to list

Crystal Reports 5.0

By Steve Roti
DBMS, January 1997 Designed to extract critical business data and transform it into presentation-quality, information-rich reports, Crystal Reports provides power-users and developers with a flexible and robust reporting tool.

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.

What's New

Crystal Reports has historically offered a number of different types of reports, and version 5.0 adds many more new types. Subreports allow one report to be embedded into another. Multiple detail section reports are available for those times when you need to place subreports or other variable-length objects such as memo and BLOB fields above other objects in your report. (You can also use the multiple section and subreport techniques together to combine two unrelated reports into one.) Form-style reports let you print on forms with precise placement of objects, and a Forms Expert assists in the design process. (See Figure 1.)

Figure 1: Crystal Reports 5.0 Designer window showing the layout for a Sales crosstab report.

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.

Figure 2: The Sales crosstab report in preview mode showing totals by size (across) and region (down).

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.

Figure 3: The Sales crosstab report being viewed in Netscape Navigator after being exported to HTML format.

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.

Report Designer

The Report Designer in Crystal Reports 5.0 is based on a drawing model, with WYSIWYG report layout and formatting tools, and a variety of data analysis and manipulation tools. The Create Report Expert leads you through all of the steps necessary to create a fairly sophisticated report in the style of your choice; you can add additional features such as presentation-quality graphs and conditional formatting to the generated report.

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.

Report Engine

The Report Engine is the part of Crystal Reports that is responsible for running the reports created in the Designer. The Report Engine can be invoked from within the Designer, or it can be integrated into Windows database applications using programming interfaces such as an ActiveX Control, Visual Basic Custom Control (VBX), Visual C++ MFC Class Library with AppWizard, Delphi Visual Component Library (VCL), Informix NewEra Class Library, and direct calls to the Crystal Report Engine DLL.

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.

Swiss Army Knife Reporting

It's no exaggeration to call Crystal Reports 5.0 the Swiss Army knife of client/server reporting tools -- it has something for almost every developer and every occasion. This review has only scratched the surface of the product and its numerous features. However, despite the plethora of report styles and DBMSs supported, Crystal Reports 5.0 doesn't feel like one of those bloated pieces of software that overwhelms the user with voluminous menus and options. Like a Swiss Army knife, it looks and feels efficient, and it is often the right tool for the job.

Steve Roti is the owner of Olympic Software, a database consulting firm in Bend, Oregon. He is an active user of SQL DBMSs on Unix, Linux and Windows. You can email him at

DBMS and Internet Systems
Copyright © 1997 Miller Freeman, Inc. ALL RIGHTS RESERVED
Redistribution without permission is prohibited.