
- •Welcome to Seagate Crystal Reports
- •Welcome
- •Two kinds of Hands-On tutorials
- •Command, button, key, and control conventions
- •Using Seagate Crystal Reports documentation
- •Seagate Crystal Reports online Help features
- •If you need more help...
- •Installation Requirements
- •Installing Seagate Crystal Reports
- •Installing on a network workstation
- •Upgrading from a previous version
- •Quick Start
- •Subreports expand report usefulness
- •Query Designer adds ad-hoc querying capabilities
- •Parameter fields mean multi-purpose reports
- •Text objects give you text with intelligence
- •Preprinted-form reports easier than ever
- •More powerful formulas extend your capabilities
- •Web solution serves up variety of online reports
- •HTML exporting simplifies Web activities
- •New database support improves data access
- •Running totals made easy
- •Smart Navigation
- •Learning Seagate Crystal Reports
- •User’s Guide
- •Online Help
- •Books Online
- •Sample Reports
- •Glossary
- •Sample Data - CRAZE.MDB
- •Suggested learning paths
- •The application window
- •Menu bar
- •Standard toolbar
- •Supplementary toolbar
- •Format bar
- •Status bar
- •Shortcut menus
- •Cursors
- •Design Tab
- •Preview Tab
- •Other fundamentals
- •HANDS-ON (Report Design Environment)
- •How to add, delete, and move guidelines
- •How to move and position objects using guidelines
- •How to turn the grid on/off
- •How to zoom your report in and out
- •How to undo/redo activities
- •How to drill down on summarized data
- •HANDS-ON (Sections and Areas)
- •How to add, delete, move, and merge sections
- •How to split and resize sections
- •Basic report design
- •How to design a prototype
- •Concepts in reporting
- •Beyond basic reports
- •HANDS-ON (Report Creation and Design)
- •How to select data and begin creating a report
- •How to add and link multiple tables
- •How to insert database fields
- •How to insert special fields
- •How to insert a page n of N field
- •How to insert text objects
- •How to use a database field in a text object
- •How to insert a picture
- •How to select, move, and resize objects
- •How to hide parts of the report
- •HANDS-ON (Finishing Your Report)
- •How to insert page headers and footers
- •How to add a title page to your report
- •How to add summary information to your report
- •Printing considerations
- •Design solutions for printing/distributing
- •Report creation checklist for distributed reports
- •Updating printer drivers
- •Report distribution
- •HANDS-ON (Distributing Your Report)
- •How to export reports
- •How to fax a report
- •How to request reports from a web browser
- •How to specify parameter field values
- •How to log on to a database
- •How to view plain HTML reports
- •Overview
- •Getting started
- •Record Selection
- •Grouping and sorting
- •Completing the report
- •Introduction
- •Working with Arbor Essbase data
- •HANDS-ON (Reporting on OLAP data)
- •How to create a cross-tab with Essbase data
- •Using multiple sections in reports
- •HANDS-ON (Multiple Section Reports)
- •How to work with text objects
- •How to create a form letter using a text object
- •How to format objects conditionally
- •How to print conditional messages in form letters
- •How to alternate background colors for rows
- •How to eliminate blank lines
- •How to add blank lines conditionally
- •Formatting concepts
- •Absolute formatting
- •Types of formatting properties
- •Conditional formatting
- •HANDS-ON (Absolute Formatting)
- •How to add color, shading, and borders
- •How to add/edit lines and boxes
- •How to change margins
- •How to add/delete white space between rows
- •How to set page orientation and paper size
- •HANDS-ON (Conditional Formatting)
- •How to flag values that meet certain conditions
- •Record selection
- •Group selection
- •Record selection formula templates
- •HANDS-ON (Record and Group Selection)
- •How to create a record or group selection formula
- •How to use record/group selection templates
- •How to select the top or bottom N groups
- •Sorting, Grouping, and Totalling Overview
- •Creating custom groups
- •HANDS-ON (Sorting, Grouping, and Totalling)
- •How to do a single field sort
- •How to do a multiple field sort
- •How to group data
- •How to sort records within groups
- •How to summarize grouped data
- •How to subtotal grouped data
- •How to sort based on summarized group values
- •How to create multiple levels of subtotals
- •How to group data in intervals
- •How to calculate a percentage of the grand total
- •How to create group headers
- •What are formulas?
- •Other formula conventions
- •Formula syntax
- •How formulas are evaluated - Order of precedence
- •HANDS-ON (Formulas 101)
- •How to insert a formula in your report
- •How to delete formulas from your report
- •How to copy formulas from online Help
- •How to copy formulas from one report to another
- •How to create if-then-else formulas
- •How to format text with formulas
- •How to use variables in formulas
- •How to declare a variable
- •How to assign a value to a variable
- •How to conditionally assign values to variables
- •How to use an array in a formula
- •How to use a range in a formula
- •How to use semicolons in formulas
- •How to fine tune group selection formulas
- •How to fine tune record selection formulas
- •How to debug a formula
- •Introduction
- •HANDS-ON (Advanced Totalling)
- •How to maintain running totals in a list
- •How to subtotal running totals within groups
- •How to subtotal without grouping
- •How to subtotal true A to B, A to C reports
- •Parameter field objects overview
- •Multiple parameter fields
- •Parameter field considerations
- •HANDS-ON (Parameter Field Objects)
- •How to create a parameter field
- •How to use a parameter field in a formula
- •How to respond to parameter field prompts
- •How to use wildcards with parameter fields
- •How to set a report title using parameter fields
- •How to set sort order using parameter fields
- •Graphing Overview
- •Choosing a graph or chart type
- •Where to place your graph
- •Data you can graph on
- •Before you create your graph
- •HANDS-ON (Graphing)
- •How to graph on a summary or subtotal field
- •How to graph on a details field
- •How to graph on a formula field
- •How to graph on cross-tab summaries
- •How to edit graphs using PGEditor
- •How to use the underlay feature with graphs
- •OLE Objects Overview
- •Inserting OLE objects in your reports
- •Linked vs. Embedded Objects
- •The dynamic OLE menu commands
- •OLE and the Picture command
- •General OLE considerations
- •HANDS-ON (OLE Objects)
- •How OLE objects are represented in your report
- •How to use OLE - General Overview Tutorial
- •How to insert a graphic/picture as an OLE object
- •What are subreports?
- •Unlinked vs. linked subreports
- •How subreport linking works
- •HANDS-ON (Subreports)
- •How to insert a subreport
- •How to preview your subreport
- •How to combine unrelated reports using subreports
- •How to use subreports with unlinkable data
- •Cross-tab overview
- •Cross-tab components
- •HANDS-ON (Cross-Tab Objects)
- •How to create a cross-tab object
- •How to format a cross-tab
- •How to print cross-tabs that span multiple pages
- •The Crystal Query Designer
- •HANDS-ON (Queries)
- •How to create a new query
- •How to add tables to a query
- •How to link tables and specify a join type
- •How to add fields to a query
- •How to identify unique values in a query
- •How to summarize data with aggregate functions
- •How to sort records according to field values
- •How to specify records to be included in a query
- •How to select groups to be included in a query
- •How to create an SQL expression
- •How to create a query from another Crystal Query
- •How to select a query for a report
- •How to use a parameter field in a query
- •Dictionaries Overview
- •HANDS-ON (Dictionaries)
- •How to create a new dictionary
- •How to add a data file
- •How to open an SQL or ODBC data source
- •How to link multiple tables
- •How to select tables and fields for users
- •How to add/create formulas
- •How to move fields/field headings within the list
- •How to update the location of a database table
- •How to add a new field heading
- •How to add Help text
- •How to add a graphic
- •How to create sample data for users to browse
- •How to edit an existing dictionary
- •How to convert a 3.x or 4.x dictionary file
- •How to select a dictionary for a report
- •Databases Overview
- •For additional information
- •HANDS-ON (Working With Databases)
- •How to open Access queries through DAO
- •How to open Access queries through ODBC
- •How to open Access parameter queries
- •How to set up an ODBC data source
- •How to check settings for an ODBC data source
- •How to log on to an ODBC data source
- •How to add an ODBC database table to a report
- •How to log on to MS SQL Server via ODBC
- •How to log off an ODBC data source
- •How to set up an A to B, A to C link
- •How to edit an SQL query
- •How to use an ACT! database
- •How to open the NT Event Log
- •Introduction
- •Four types of data
- •Direct access database files
- •ODBC data sources
- •Crystal Query Designer files
- •Crystal Dictionary files
- •Multi-pass reporting
- •Product support
- •Web support
- •E-mail support
- •Fax support
- •Telephone support
- •Extended technical support policy
- •Product registration
- •Product return policy
- •Product replacement policy
- •Glossary

OLE Objects Overview
Often when you insert a graphic, spreadsheet, or some other object into a report, you may later find it necessary to change that object. Normally to make the changes, you would have to:
●exit Seagate Crystal Reports,
●open the original application,
●change the object,
●return to Seagate Crystal Reports,
●delete the object originally inserted, and
●insert the newly revised object.
All of these steps can be avoided using Object Linking and Embedding (OLE). OLE allows you to insert objects (OLE objects) into a report from other applications (OLE server applications) and then use those applications from within Seagate Crystal Reports to edit the objects if necessary.
To better understand the program’s use of OLE, some terminology may be helpful:
●OLE
OLE is an acronym for Object Linking and Embedding. It refers to the ability to create compound reports, that is, reports that contain elements from other applications that can be edited using the original application.
●OLE Object
An OLE object is, broadly speaking, a presentation of data that was created in another application and that maintains a relationship with the application that was used to create it. A bitmap created in a paint program, an Excel spreadsheet, or a graph from MS graph may all be OLE objects if they are inserted in the receiving document as OLE objects. If they are not inserted as OLE objects, they retain no relationship with the originating application.
416 |
Seagate Crystal Reports User’s Guide |
●OLE Container Application
An OLE container application is one that can contain and process OLE objects created in other applications (such as Paint or Excel). Seagate Crystal Reports is a container application.
●Container Document
A container document is a document created using the container application and one that contains an OLE object.
●OLE Server Application
An OLE server application is one that can create OLE objects that can then be placed in documents created by container applications. Microsoft Word and Excel are examples of applications that are both OLE servers and OLE containers. That is, they can create OLE objects and they can contain OLE objects created elsewhere.
●Server Document
A server document is the file created in the server application that stores the original OLE object.
●Linked object
A linked object contains a presentation of the object and a pointer to a defined part of the server document. When you modify the original object in the server document, the links assure that the object in your report is modified automatically as well. Conversely, if you modify the object in the container document, the original object file is modified as well. As a general rule, use linked objects when the data in the server document is changing and you want the object in the container document to be updated when changes occur.
●Embedded object
An embedded object contains a presentation of the object, all of the data that pertains to the object, and information about the application used to create it. When you modify the original object in the server document, nothing happens to the embedded object unless you specifically update that object. Likewise, when you modify the embedded object, nothing happens to the original. As a general rule, use embedded objects when you want to be able to edit the object in the container application without affecting the original object.
OLE |
417 |

●In-place editing
In-place editing is the ability to change an OLE object’s properties while in Seagate Crystal Reports (or another OLE container application). The container application’s menu items change to provide the editing tools from the server application so that you can make the changes easily.
●Static OLE Object
A static OLE object is a picture of an object that is stored in a document when it is saved. The picture can be displayed or printed by a user who does not have the application in which the original object was created. The object can not be edited in place, however, without first converting it to an editable type of object. Static OLE objects offer better online and print performance than do standard bitmaps.
When you place an OLE object in a report, the object becomes part of your report. If you want to edit the object, you simply doubleclick it and modify it using the editing tools from the application used to create the object in the first place (or a similar application that allows such editing). This applies to all but static OLE objects. Using OLE objects in your report enables you to create robust documents that are easy to maintain.
Inserting OLE objects in your reports
There are several ways of inserting OLE objects into your application.
●You can cut the object from an OLE server application and paste it in your report using the PASTE SPECIAL command on the Edit menu. If the object can be pasted in multiple formats, you decide which format to use. For example, when you’re inserting text from a Microsoft Word document, you can paste the text as Microsoft Word document text (which can be edited in Word) or as a metafile which is simply a non-editable picture of the text. Using the PASTE SPECIAL command you can place either embedded or linked objects.
418 |
Seagate Crystal Reports User’s Guide |

●You can create a new object or import an existing one using the OLE OBJECT command on the Insert menu. You can place either embedded or linked objects this way.
●Finally, you can drag and drop an object from an OLE server application. You do this by opening Seagate Crystal Reports in one window and the OLE server application in another, then dragging the object between the two. When you drag an object into a report, the object is embedded, not linked.
NOTE: Using the COPY and PASTE SPECIAL commands on the Edit
menu or drag and drop are most appropriate when you are inserting selected information (pieces of larger files). The OBJECT
command on the Insert menu is most appropriate when you are inserting entire files.
Linked vs. Embedded Objects
Linked objects
Since linked and embedded objects each have different properties, it is important for you to consider the capabilities of each when deciding which OLE format to use.
When you insert a linked object, Windows copies a snapshot of the data from a file that already exists. Only the image of the object is added to your report. The actual data remains with the original file.
When you open the object from within your report, the original file is opened inside the application that was used to create it. Any changes you make directly change the original file.
If you want the data in your object to remain available to other applications, and to always reflect the most current changes to the data, link the object to your report.
NOTE: When you have a linked object and you break the link using the Links dialog box, you are breaking all connections to the original data in the server document. A linked object in a container application is simply a presentation of an object and a link between the object and the server document. When you break the link you’re left with simply the representation and no
OLE |
419 |