Tải bản đầy đủ (.pdf) (882 trang)

crystal reports 9 - the complete reference

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (20.88 MB, 882 trang )

TEAMFLY






















































Team-Fly
®

www.free-ebooks-download.org
Crystal Reports
®
9:

The Complete Reference
www.free-ebooks-download.org
About the Author
After more than 10 years as an internal
consultant and trainer in a large corporation,
George founded his own consulting and
training firm, The Ablaze Group, in 1994
(www.AblazeGroup.com). He has trained,
consulted, and developed custom software for
large and small clients throughout the United
States, Canada, the United Kingdom, and
Puerto Rico.
George is certified by Crystal Decisions
as both a trainer and consultant for Crystal
Reports 9, Crystal Enterprise, and Seagate Info.
He is a past recipient of the Crystal Decisions
Training Partner of the Year award.
Prior to his computer career, George was
a broadcaster. His voice may still be heard in
various national radio and TV commercial and
promotional campaigns.
www.free-ebooks-download.org
Crystal Reports
®
9:
The Complete Reference
George Peck
McGraw-Hill/Osborne
New York Chicago San Francisco
Lisbon London Madrid Mexico City

Milan New Delhi San Juan
Seoul Singapore Sydney Toronto
www.free-ebooks-download.org
Copyright © 2003 by The McGraw-Hill Companies, Inc. All rights reserved. Manufactured in the
United States of America. Except as permitted under the United States Copyright Act of 1976, no part
of this publication may be reproduced or distributed in any form or by any means, or stored in a data-
base or retrieval system, without the prior written permission of the publisher.
0-07-222900-4
The material in this eBook also appears in the print version of this title: 0-07-222519-X.
All trademarks are trademarks of their respective owners. Rather than put a trademark symbol after
every occurrence of a trademarked name, we use names in an editorial fashion only, and to the benefit
of the trademark owner, with no intention of infringement of the trademark. Where such designations
appear in this book, they have been printed with initial caps.
McGraw-Hill eBooks are available at special quantity discounts to use as premiums and sales pro-
motions, or for use in corporate training programs. For more information, please contact George
Hoare, Special Sales, at or (212) 904-4069.
TERMS OF USE
This is a copyrighted work and The McGraw-Hill Companies, Inc. (“McGraw-Hill”) and its licensors
reserve all rights in and to the work. Use of this work is subject to these terms. Except as permitted
under the Copyright Act of 1976 and the right to store and retrieve one copy of the work, you may not
decompile, disassemble, reverse engineer, reproduce, modify, create derivative works based upon,
transmit, distribute, disseminate, sell, publish or sublicense the work or any part of it without
McGraw-Hill’s prior consent. You may use the work for your own noncommercial and personal use;
any other use of the work is strictly prohibited. Your right to use the work may be terminated if you
fail to comply with these terms.
THE WORK IS PROVIDED “AS IS”. McGRAW-HILL AND ITS LICENSORS MAKE NO GUAR-
ANTEES OR WARRANTIES AS TO THE ACCURACY, ADEQUACY OR COMPLETENESS OF
OR RESULTS TO BE OBTAINED FROM USING THE WORK, INCLUDING ANY INFORMA-
TION THAT CAN BE ACCESSED THROUGH THE WORK VIA HYPERLINK OR OTHERWISE,
AND EXPRESSLY DISCLAIM ANY WARRANTY, EXPRESS OR IMPLIED, INCLUDING BUT

NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE. McGraw-Hill and its licensors do not warrant or guarantee that the func-
tions contained in the work will meet your requirements or that its operation will be uninterrupted or
error free. Neither McGraw-Hill nor its licensors shall be liable to you or anyone else for any inac-
curacy, error or omission, regardless of cause, in the work or for any damages resulting therefrom.
McGraw-Hill has no responsibility for the content of any information accessed through the work.
Under no circumstances shall McGraw-Hill and/or its licensors be liable for any indirect, incidental,
special, punitive, consequential or similar damages that result from the use of or inability to use the
work, even if any of them has been advised of the possibility of such damages. This limitation of lia-
bility shall apply to any claim or cause whatsoever whether such claim or cause arises in contract, tort
or otherwise.
DOI: 10.1036/0072229004
www.free-ebooks-download.org
Want to learn more?
We hope you enjoy this McGraw-Hill eBook! If you d like
more information about this book, its author, or related books
and websites, please click her
e.
,
www.free-ebooks-download.org
For Denise
Four and counting.
And, you’ve stayed by my side—loyal to the end—
for every one of them.
I Love You.
www.free-ebooks-download.org
This page intentionally left blank.
www.free-ebooks-download.org
Contents at a Glance
Part I Crystal Reports 9 Introduced

1 Getting the Feel of Crystal Reports 9 . . . . . . . . . . . . . . . . 3
2 Enhancing Appearance with Text Objects . . . . . . . . . . . 33
3 Sorting and Grouping . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4 Creating Geographic Maps . . . . . . . . . . . . . . . . . . . . . . . . 79
5 Using Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6 Creating Custom Functions . . . . . . . . . . . . . . . . . . . . . . . 175
7 The Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
8 Analyzing with Advanced Selection Criteria . . . . . . . . 209
9 Making Your Reports Visually Appealing . . . . . . . . . . . . 225
10 Using Sections and Areas . . . . . . . . . . . . . . . . . . . . . . . . . 257
11 Analyzing with Cross-Tabs . . . . . . . . . . . . . . . . . . . . . . . . 289
12 Creating Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
13 Using Subreports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
14 Viewer Interaction with Parameter Fields . . . . . . . . . . . 385
vii
For more information about this title, click here.
Copyright 2003 by The McGraw-Hill Companies, Inc. Click Here for Terms of Use.
www.free-ebooks-download.org
15 Exporting Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
16 Reporting from SQL Databases . . . . . . . . . . . . . . . . . . . . 435
17 Accommodating Database Changes and
Field Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
18 Reporting from OLAP Cubes . . . . . . . . . . . . . . . . . . . . . . 501
19 Reporting from Proprietary Data Types . . . . . . . . . . . . . 527
Part II Crystal Reports 9 on the Web
20 Crystal Reports Web Alternatives . . . . . . . . . . . . . . . . . . 553
21 Crystal Reports and Microsoft Active Server Pages . . . . . 575
22 Introduction to Crystal Enterprise . . . . . . . . . . . . . . . . . . 613
23 Using the Crystal Launchpad and ePortfolio . . . . . . . . . 635
24 Customizing Crystal Enterprise ePortfolio . . . . . . . . . . 693

Part III Developing Custom Window Applications
25 Integrating Crystal Reports 9 with Visual Basic . . . . . . 717
26 Crystal Reports with Visual Studio .NET . . . . . . . . . . . . 799
A Installing and Configuring Crystal Reports
Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
viii
Crystal Reports 9: The Complete Reference
www.free-ebooks-download.org
Contents
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii
Part I
Crystal Reports 9 Introduced
1 Getting the Feel of Crystal Reports 9 . . . . . . . . . . . . . . . . 3
Introducing Crystal Reports 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Crystal Reports Screen Elements . . . . . . . . . . . . . . . . . . . . . . 6
Starting Out: Opening or Creating a Report . . . . . . . . . . . . 8
Using the Report Wizards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Using the Blank Report Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
The Database Expert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
The Design Tab and Field Explorer . . . . . . . . . . . . . . . . . . . . 16
Report Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Previewing the Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Moving and Sizing Objects . . . . . . . . . . . . . . . . . . . . . . . . . . 20
ix
For more information about this title, click here.
Copyright 2003 by The McGraw-Hill Companies, Inc. Click Here for Terms of Use.
TEAMFLY























































Team-Fly
®

www.free-ebooks-download.org
x
Crystal Reports 9: The Complete Reference
Formatting Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Customizing Crystal Reports Behavior . . . . . . . . . . . . . . . . 25

The Report Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2 Enhancing Appearance with Text Objects . . . . . . . . . . . 33
The Field Heading Text Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Combining Database Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Combining Special Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
The Can Grow Formatting Option . . . . . . . . . . . . . . . . . . . . 38
Formatting Individual Parts of Text Objects . . . . . . . . . . . . . . . . . . . 40
Importing Text from a File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3 Sorting and Grouping . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Sorting Your Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Grouping Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Manipulating Existing Groups . . . . . . . . . . . . . . . . . . . . . . . 50
The Group Expert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Adding Summaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Multiple Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Specified Order Grouping . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Drilling Down on Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Grouping on Date Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Customizing Group Name Fields . . . . . . . . . . . . . . . . . . . . . 68
Grouping on Formula Fields . . . . . . . . . . . . . . . . . . . . . . . . . 70
Top N Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Hierarchical Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4 Creating Geographic Maps . . . . . . . . . . . . . . . . . . . . . . . . 79
Different Map Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Adding a Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
The Data Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
The Type Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
The Text Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Drilling Down on Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Changing the Map View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

The Map Navigator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Resolving Data Mismatches . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Map Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5 Using Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
The Formula Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
The Formula Expert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
www.free-ebooks-download.org
The Formula Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Creating a New Formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Editing, Renaming, or Deleting an Existing Formula . . . . 119
Number Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Order of Precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
String Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
The ToText Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Picking Apart Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Date/Time Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Number of Days Between Dates . . . . . . . . . . . . . . . . . . . . . . 132
Number of Hours and Minutes Between Times . . . . . . . . . 134
Month, Day, Year, Hour, Minute, and Seconds Functions . 135
DateValue Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
If-Then-Else Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Data Types in If-Then-Else Formulas . . . . . . . . . . . . . . . . . . 138
Multiple Actions with One If-Then-Else Statement . . . . . . 140
Helpful Built-In Functions for If-Then-Else Formulas . . . . 143
Other Crystal Reports Logic Constructs . . . . . . . . . . . . . . . . . . . . . . . 145
Select Case Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
For Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
While Do Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Boolean Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

Variables in Formulas and Evaluation Times . . . . . . . . . . . . . . . . . . 153
Declaring a Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Variable Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Assigning a Value to a Variable . . . . . . . . . . . . . . . . . . . . . . . 156
Displaying a Variable’s Contents . . . . . . . . . . . . . . . . . . . . . 158
Evaluation Times and Report Passes . . . . . . . . . . . . . . . . . . 159
When Not to Use Variables . . . . . . . . . . . . . . . . . . . . . . . . . . 165
User Function Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Running Total Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
6 Creating Custom Functions . . . . . . . . . . . . . . . . . . . . . . . 175
Custom Functions Defined . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Creating Your Own Custom Functions . . . . . . . . . . . . . . . . . . . . . . . 177
Extracting Custom Functions from Existing Formulas . . . 178
Creating Custom Functions from Scratch . . . . . . . . . . . . . . 183
Modifying Existing Custom Functions . . . . . . . . . . . . . . . . 187
Sharing Custom Functions with Other Users . . . . . . . . . . . . . . . . . . 189
Using Custom Functions in Your Formulas . . . . . . . . . . . . . . . . . . . . 190
Contents
xi
www.free-ebooks-download.org
7 The Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
The Repository Defined . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Creating a Shared Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Controlling Repository Permissions . . . . . . . . . . . . . . . . . . . 196
Adding To/Updating the Repository . . . . . . . . . . . . . . . . . . . . . . . . . 197
Creating Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Adding and Deleting Items . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Adding Repository Items to Reports . . . . . . . . . . . . . . . . . . . . . . . . . 203
Text Objects or Bitmap Graphics . . . . . . . . . . . . . . . . . . . . . . 203
Custom Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

SQL Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Changing Repository Items on Your Report . . . . . . . . . . . . . . . . . . . 205
Updating Repository Versions of Objects . . . . . . . . . . . . . . 207
8 Analyzing with Advanced Selection Criteria . . . . . . . . 209
The Select Expert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Refreshing the Report Versus Using Saved Data . . . . . . . . 215
Record Selection with Date Fields . . . . . . . . . . . . . . . . . . . . . 216
Manipulating the Record Selection Formula Directly . . . . . . . . . . . 218
Limiting Data with a Group Selection Formula . . . . . . . . . . . . . . . . 220
Performance Considerations with Record Selection . . . . . . . . . . . . 222
9 Making Your Reports Visually Appealing . . . . . . . . . . . . 225
General Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
The Formatting Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
The Format Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
The Highlighting Expert. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Conditional Formatting Formulas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Absolute Versus Conditional Formatting . . . . . . . . . . . . . . . 233
Creative Use of the Suppress Property. . . . . . . . . . . . . . . . . . 236
Special Fonts, Graphics, and Line Drawing. . . . . . . . . . . . . . . . . . . . . 238
Using Special Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Using Bitmap Graphics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Line and Box Drawing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Text and Paragraph Formatting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Format Editor Paragraph Formatting Tab . . . . . . . . . . . . . . . 244
Using HTML and RTF Text Interpretation. . . . . . . . . . . . . . . 246
Report Alerts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Basing Report Formulas or Conditional Formatting on
Report Alerts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
New Crystal Reports 9 Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
The Template Expert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

Creating Your Own Templates . . . . . . . . . . . . . . . . . . . . . . . . 254
xii
Crystal Reports 9: The Complete Reference
www.free-ebooks-download.org
10 Using Sections and Areas . . . . . . . . . . . . . . . . . . . . . . . . . 257
Formatting Sections with the Section Expert . . . . . . . . . . . . . . . . . . . 258
The Section Expert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Creating Summary and Drill-Down Reports . . . . . . . . . . . . . . . . . . . 269
Drill-Down Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Multiple-Column Reports for Labels and Listings . . . . . . . . . . . . . . 276
Using Multiple Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Conditionally Suppressing Sections . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Printing a Bonus Message for Certain Records . . . . . . . . . . 284
Printing a Different Page Header on Page 2 and Later . . . 284
Printing Odd and Even Page Headers or Footers . . . . . . . . 285
Underlaying Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
11 Analyzing with Cross-Tabs . . . . . . . . . . . . . . . . . . . . . . . . 289
Creating a Cross-Tab Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Editing an Existing Cross-Tab . . . . . . . . . . . . . . . . . . . . . . . . 296
Creative Use of Grouping and Formulas . . . . . . . . . . . . . . . 297
Multiple Rows, Columns, and Summarized Fields . . . . . . . . . . . . . 302
Reordering Fields in the Rows, Columns, or
Summarized Field Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Customizing Cross-Tab Appearance . . . . . . . . . . . . . . . . . . . . . . . . . 307
The Style Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
The Customize Style Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Adding Legends to Cross-Tabs . . . . . . . . . . . . . . . . . . . . . . . 314
Conditionally Formatting Cross-Tabs . . . . . . . . . . . . . . . . . . 315
12 Creating Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Types and Layouts of Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322

Chart Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Chart Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Creating Charts with the Chart Expert . . . . . . . . . . . . . . . . . . . . . . . . 325
The Type Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
The Data Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
The Axes Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
The Options Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
The Text Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Placing and Sizing Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Modifying Existing Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Zooming In and Out on Charts . . . . . . . . . . . . . . . . . . . . . . . 346
Drilling Down on Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Finer Points of Chart Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
New Version 9 Conditional Formatting . . . . . . . . . . . . . . . . 349
Customizing Charts with Chart Options . . . . . . . . . . . . . . . 350
Contents
xiii
www.free-ebooks-download.org
13 Using Subreports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Unlinked Subreports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Drilling Down on Subreports . . . . . . . . . . . . . . . . . . . . . . . . 365
Linked Subreports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Linking Based on Formula Fields . . . . . . . . . . . . . . . . . . . . . 370
Format Editor Common Tab and Subreport Tab . . . . . . . . . . . . . . . . 372
On-Demand Versus In-Place Subreports . . . . . . . . . . . . . . . . . . . . . . 374
Passing Data Between Main Reports and Subreports . . . . . . . . . . . 377
Handling Empty Subreports . . . . . . . . . . . . . . . . . . . . . . . . . 379
Performance Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
14 Viewer Interaction with Parameter Fields . . . . . . . . . . . 385
Creating a Parameter Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387

Setting Up a Pick List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
Responding to Parameter Field Prompts . . . . . . . . . . . . . . . 394
Value Type Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Using Parameter Fields in Record Selection . . . . . . . . . . . . . . . . . . . 402
Displaying Parameter Fields on the Report . . . . . . . . . . . . . . . . . . . . 403
Special Parameter Field Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Multiple Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
Range Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Controlling Parameter Field Data Entry . . . . . . . . . . . . . . . 408
Conditional Formatting with Parameter Fields . . . . . . . . . . . . . . . . 411
Highlighting Data Based on Parameter Fields . . . . . . . . . . 411
Conditionally Suppressing Based on Parameter Fields . . . 413
Using Parameter Fields with Formulas . . . . . . . . . . . . . . . . . . . . . . . 413
Using a Parameter Field for Partial Text Matches . . . . . . . . 414
Using a Parameter Field to Change Sorting or Grouping . 415
Using a Parameter Field to Control Top N Reporting . . . . 417
15 Exporting Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
Exporting Reports to Office Applications . . . . . . . . . . . . . . . . . . . . . 421
Exporting to Different File Formats . . . . . . . . . . . . . . . . . . . 422
Exporting and Launching an Application . . . . . . . . . . . . . . 424
Exporting to an ODBC Data Source . . . . . . . . . . . . . . . . . . . 425
Exporting to XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
Sending Reports Electronically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
16 Reporting from SQL Databases . . . . . . . . . . . . . . . . . . . . 435
Logging On to SQL Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
Direct Database Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
ODBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
xiv
Crystal Reports 9: The Complete Reference
www.free-ebooks-download.org

OLE DB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
Choosing the Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
Changing SQL Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
Changing to a Different Database . . . . . . . . . . . . . . . . . . . . . 446
Adding Additional Tables to the Report . . . . . . . . . . . . . . . 448
Removing Unused Tables from the Report . . . . . . . . . . . . . 448
Linking Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
Database Expert Links Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
Using Multiple Database Types in the Same Report . . . . . 455
Join and Link Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
Viewing the SQL Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
Crystal Reports SQL Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
Creating the SQL Command . . . . . . . . . . . . . . . . . . . . . . . . . 465
Using a SQL Command in a Report . . . . . . . . . . . . . . . . . . . 471
Using SQL Stored Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
Choosing Stored Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 473
Working with Stored Procedure Parameters . . . . . . . . . . . . 474
Using SQL Expression Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
Creating SQL Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
Grouping on the Database Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Enabling Server-Based Grouping . . . . . . . . . . . . . . . . . . . . . 482
What’s Required to Use Server-Based Grouping . . . . . . . . 483
Effects of Drill-Down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
Performance Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Let the Server Do the Work . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Use Indexed Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
17 Accommodating Database Changes and
Field Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
Recognizing Database Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
Verify Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490

Using Set Datasource Location . . . . . . . . . . . . . . . . . . . . . . . 491
Mapping Old Fields to New Names . . . . . . . . . . . . . . . . . . . . . . . . . . 496
18 Reporting from OLAP Cubes . . . . . . . . . . . . . . . . . . . . . . 501
What Is OLAP? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
Crystal Reports OLAP Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
Supported OLAP Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
OLAP Report Creation Methods . . . . . . . . . . . . . . . . . . . . . . 505
Using the OLAP Report Creation Wizard . . . . . . . . . . . . . . . . . . . . . 506
Adding an OLAP Grid to an Existing Report . . . . . . . . . . . . . . . . . . 514
Adding an OLAP Grid Object . . . . . . . . . . . . . . . . . . . . . . . . 515
Changing the OLAP Database Location . . . . . . . . . . . . . . . . . . . . . . . 518
Contents
xv
www.free-ebooks-download.org
Controlling OLAP Grid Appearance . . . . . . . . . . . . . . . . . . . . . . . . . 519
Interacting with the OLAP Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
The New OLAP Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
19 Reporting from Proprietary Data Types . . . . . . . . . . . . . 527
Reporting from Microsoft Outlook . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
Reporting from the File System Data . . . . . . . . . . . . . . . . . . . . . . . . . 532
Reporting from the Windows NT/2000 Event Log . . . . . . . . . . . . . 535
Reporting from Web Server Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
Crystal Reporting with XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
New Crystal Reports 9 Active Data Sources . . . . . . . . . . . . . . . . . . . 547
Part II
Crystal Reports 9 on the Web
20 Crystal Reports Web Alternatives . . . . . . . . . . . . . . . . . . 553
Crystal Reports Web Alternatives Compared . . . . . . . . . . . . . . . . . . 555
Exporting to Static HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
Hyperlink Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561

Cascading Style Sheet Support . . . . . . . . . . . . . . . . . . . . . . . 565
Navigating and Viewing Report Parts . . . . . . . . . . . . . . . . . . . . . . . . 565
Using Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Displaying Report Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
21 Crystal Reports and Microsoft Active Server Pages . . . . . 575
Active Server Pages and VBScript Overview . . . . . . . . . . . . . . . . . . 576
Web Integration with the Report Designer Component . . . . . . . . . 577
Crystal-Supplied Sample ASPs . . . . . . . . . . . . . . . . . . . . . . . 578
The RDC Object Model in ASPs . . . . . . . . . . . . . . . . . . . . . . 578
RDC Report Viewers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
Report Viewers Compared . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
Choosing and Customizing Report Viewers . . . . . . . . . . . . 585
What Is CleanUp.ASP? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
Web Integration with the Report Application Server . . . . . . . . . . . . 587
Basic RAS Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588
Customizing RAS at Run Time with the RAS SDK . . . . . . 593
Controlling General Report Behavior with the RAS SDK . 599
Viewing the Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
22 Introduction to Crystal Enterprise . . . . . . . . . . . . . . . . . . 613
Crystal Enterprise Defined . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614
The Two-Tier Web Reporting Method . . . . . . . . . . . . . . . . . 615
xvi
Crystal Reports 9: The Complete Reference
www.free-ebooks-download.org
Crystal Enterprise Multitier Reporting Method . . . . . . . . . 616
Standard Edition 8 Versus Professional Edition 8.5 . . . . . . 617
Crystal Enterprise Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
End-User Components for Reporting . . . . . . . . . . . . . . . . . . 621
Server and Maintenance Components for Administrators 624
23 Using the Crystal Launchpad and ePortfolio . . . . . . . . . 635

Navigating the Crystal Enterprise Launchpad . . . . . . . . . . . . . . . . . 636
Using the Crystal Enterprise ePortfolio . . . . . . . . . . . . . . . . . . . . . . . 637
ePortfolio Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638
Searching for Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
Viewing and Running Instances and Reports . . . . . . . . . . . 642
Guest Versus User Account . . . . . . . . . . . . . . . . . . . . . . . . . . 654
Publishing Crystal Reports to Crystal Enterprise . . . . . . . . . . . . . . . 661
Publishing with Crystal Reports 8.5 . . . . . . . . . . . . . . . . . . . 662
The Crystal Publishing Wizard . . . . . . . . . . . . . . . . . . . . . . . 664
Publishing with the Crystal Management Console . . . . . . 676
24 Customizing Crystal Enterprise ePortfolio . . . . . . . . . . 693
Customization Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
Simple Customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695
Complete Customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696
Simple Modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
Adding Your Own Company Logo . . . . . . . . . . . . . . . . . . . . 697
Changing Colors and Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . 698
Changing Defaults for the Guest Account . . . . . . . . . . . . . . 699
Customizing the DHTML Viewer Toolbar . . . . . . . . . . . . . . 702
Complete Customization with Crystal Server Pages . . . . . . . . . . . . 703
CSP Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703
Creating Crystal Server Pages . . . . . . . . . . . . . . . . . . . . . . . . 707
Part III
Developing Custom Window Applications
25 Integrating Crystal Reports 9 with Visual Basic . . . . . . 717
Development-Language Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719
Which Development Language Should I Use? . . . . . . . . . . 719
Different VB Reporting Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720
Crystal Reports Versus the Microsoft Data
Report Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720

Bundled Crystal Reports Versus the Stand-Alone Version 720
Visual Basic Developer Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721
Contents
xvii
www.free-ebooks-download.org
The Report Designer Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
RDC Object Model Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
Different RDC Pieces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726
The ActiveX Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727
The Run-time Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728
The Report Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728
The Embeddable Report Designer . . . . . . . . . . . . . . . . . . . . 728
Adding the RDC to Your Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 730
Importing an Existing Report . . . . . . . . . . . . . . . . . . . . . . . . 731
Creating a New Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735
The RDC Object Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739
Using the ActiveX Designer Report Object . . . . . . . . . . . . . 739
Using an External .RPT File . . . . . . . . . . . . . . . . . . . . . . . . . . 741
An Introduction to the RDC Object Model . . . . . . . . . . . . . . . . . . . . 742
Providing Database Login Credentials . . . . . . . . . . . . . . . . . . . . . . . . 745
Controlling Record Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748
Record Selection Formula Tips . . . . . . . . . . . . . . . . . . . . . . . 748
Setting Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750
Changing Text Objects at Run Time . . . . . . . . . . . . . . . . . . . . . . . . . . 751
Passing Parameter-Field Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753
Manipulating Report Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754
Conditional Formatting and Formatting Sections . . . . . . . . . . . . . . 756
The Format Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
Choosing Output Destinations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762
Changing the Data Source at Run Time . . . . . . . . . . . . . . . . . . . . . . . 764

Unbound Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765
Customizing the Report Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
Trapping Report Viewer Events . . . . . . . . . . . . . . . . . . . . . . 770
Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774
Other RDC Properties and Methods . . . . . . . . . . . . . . . . . . . . . . . . . . 775
The DiscardSavedData Method . . . . . . . . . . . . . . . . . . . . . . . 775
SQL Database Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
RDC Subreports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777
Creating New Reports at Run Time . . . . . . . . . . . . . . . . . . . . . . . . . . 780
Creating a New Report with Code . . . . . . . . . . . . . . . . . . . . 781
The Report Creation Wizard . . . . . . . . . . . . . . . . . . . . . . . . . 786
Using the Embeddable Report Designer . . . . . . . . . . . . . . . 788
Distributing RDC Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
Distribution Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793
Database Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795
File Export Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . 797
User Function Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797
xviii
Crystal Reports 9: The Complete Reference
www.free-ebooks-download.org
26 Crystal Reports with Visual Studio .NET . . . . . . . . . . . . 799
Crystal Reports for Visual Studio .NET Overview . . . . . . . . . . . . . . 800
Similarity to RDC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800
Crystal Reports in Windows Applications . . . . . . . . . . . . . 801
Crystal Reports in Web Applications . . . . . . . . . . . . . . . . . . 805
Crystal Reports as VS.NET Web Services . . . . . . . . . . . . . . 805
Creating Crystal Reports Windows Applications . . . . . . . . . . . . . . . 806
Creating or Modifying Reports in the VS.NET Crystal Report
Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806
Manipulating Reports Inside Code . . . . . . . . . . . . . . . . . . . . 809

Using the Windows Forms Viewer . . . . . . . . . . . . . . . . . . . . 810
Creating Crystal Reports Web Applications . . . . . . . . . . . . . . . . . . . 814
Using the Crystal Web Forms Viewer . . . . . . . . . . . . . . . . . . 814
Crystal Reports and Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817
Creating a Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 818
Consuming a Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . 819
A Installing and Configuring Crystal Reports
Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821
Installing the Crystal Reports Designer . . . . . . . . . . . . . . . . . . . . . . . 822
Installing the Report Designer Component on Your Web Server . . 824
The Crystal License Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825
Installing Report Application Server . . . . . . . . . . . . . . . . . . . . . . . . . 826
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
Contents
xix
TEAMFLY























































Team-Fly
®

www.free-ebooks-download.org
This page intentionally left blank.
www.free-ebooks-download.org
Acknowledgments
W
hen working on a fourth edition of a book, there’s a tendency to become
complacent about properly acknowledging those who have helped make
this significant piece of work a reality. It’s tempting to just paste in the
acknowledgements from the previous titles and change a few names. But, there are
so many new people this time around who have worked so hard to turn this into
a valuable product.
First and foremost, I must offer the most heartfelt thanks to my other Ablaze Group
associates! For Contributing Writers Lauren O’Malley and Brian Norris, please accept
my gratitude for such great work in such a short timeframe and for so little recompense.
To Julia Hennelly, I offer my sincere gratitude for not only an impeccable job at catching
my technical gaffes, but for making my “introduction” to Crystal Reports many years
ago so pleasant. And, for Jen Boyle, I offer a special Thank You for teaching me yet new
stuff about Crystal Reports, as well as being a very, very good, reliable friend.

It goes without saying that many folks at McGraw-Hill/Osborne deserve special
recognition. While I got a little nervous by the end of the Acquisitions Editor Shuffle (I
hope it wasn’t just me!), each associate helped so much with this project. First, thanks
to Ann Sellers for getting the project off the ground. And, while the association was short,
I still thank Jim Schachterle for a truly professional relationship. And, for Lisa McClain
I offer the most sincere thoughts. Your kind and gentle approach during the inevitable
xxi
Copyright 2003 by The McGraw-Hill Companies, Inc. Click Here for Terms of Use.
www.free-ebooks-download.org
panic-at-project-end phase is appreciated more than you’ll know. And, so many thanks
are due Athena Honore, Bob Campbell, and Editorial Director Wendy Rinaldi. Finally,
Carolyn Welch worked so hard to make this title the best it could be. We worked together
a little better this time around, didn’t we?
Some folks at Crystal Decisions deserve recognition for pulling out all the stops at
the last minute to help out. Thanks to Dave Galloway, Mary-Jane Alexander, Matthew
Heron, and the Custom Applications Team. One very giving person at Crystal Decisions
also warrants special recognition. Megan Risk was so helpful and responsive during
the “Oh my God, what’s it doing now?” moments—you saved the day on more than
one occasion. I’ll try to avoid overuse of CAPITAL LETTERS to you in all future
correspondence!
And last, but far from least, is an acknowledgement to Dad. Your love and support
during this title, and all the rest, is so precious. I Love You. And, Mom, I wish you were
here to see this. I’m sure you’d be proud of my use of words and prose the way you
taught me.
George Peck, October 2002

www.CrystalBook.com
xxii
Crystal Reports 9: The Complete Reference
www.free-ebooks-download.org

Introduction
O
When I saw the first “technology preview” of Crystal Reports 9 some time prior
to commencing writing, I was immediately intrigued with the dramatic changes
in its features. By the time Crystal Reports 9 shipped to the general public when
I was well into the writing process, it consisted of what I personally consider the most
significant upgrade to the tool since version 5. I’ve tried to explain and demonstrate as
much of this new functionality as possible in this title.
First, although it might be an odd statement, let me emphatically tell you that this
is not a “Complete Reference” on Crystal Reports, at least not from my point of view. If
you have ever worked in the publishing industry or taken a marketing class in college,
then you’ll probably understand why book series are given their names. What I would
consider a “complete reference” would take well past a thousand pages to put together—
Crystal Reports is that complex of a product. You’d find detailed explanations of each
and every function in both syntaxes of the formula language, detailed explanations and
examples of all objects, methods, and collections in every programming interface, and
exhaustive descriptions of each and every formatting and menu option. Creating such
an offering in a single printed piece simply isn’t practical.
So, this book is not designed (and never has been) to replace the guides and manuals
that accompany Crystal Reports, nor the on-line help that’s included with it. If you
purchased this book to replace those materials (perhaps you have a bootlegged copy
xxiii
Copyright 2003 by The McGraw-Hill Companies, Inc. Click Here for Terms of Use.
www.free-ebooks-download.org

×