Operation Manual

Understanding Databases
Linking tables
25
498 Crystal Reports User’s Guide
field. Since you know that Product 2 did not begin shipping until July of 1995,
you can improve speed by limiting your report to orders placed in and after
July 1995 using the selection formula. In such a case, the program uses the
Order Date index to retrieve only those orders from July 1995 and afterward
(a small subset of the entire database) and then searches for the occurrences
of Product 2 in that subset, not in the entire database.
The Database Expert Links tab
The Database Expert Links tab lets you easily link two or more tables.
Choose the Database Expert from the Database menu to display all current
tables; then choose the Links tab to display all current links.
The easiest way to link database tables is to select Auto Link in the Database
Expert Links tab. Auto Link automatically chooses links for your tables based
on common fields in tables or indexed fields (if your database supports
indexed fields).
Linking indexed tables
When you are linking direct-access database tables, you link from a primary
table to a field in the lookup table. The link field in the primary table can be
indexed, but does not have to be. The link field in the lookup table does not have
to be indexed, either, unless you aren’t using a native driver for your connection.
In addition, the fields used to link two tables must have the same data type.
For example, you can link a string field in one table to a string field in another
table, or a numeric field in one table to a numeric field in another table, but
you cannot link a numeric field in one table to a string field in another table.
Note:
Some DBMS applications allow you to convert the field value to another
data type in the index. For instance, the field in the table can be numeric,
while the index converts the field value to a string. However, if you
choose to use that field to link to another table, you must link to a field of
the original data type. You cannot link a string value to a numeric field
that has been converted to a string in the index.
If you are linking tables from two different ODBC data sources, MS SQL
Server and Oracle, for example, you can only use string fields to link the
tables. String fields are stored in databases in the same manner,
regardless of the data source. Other types of values, however, may not be
stored the same way in different data sources, so you cannot link different
data sources in Crystal Reports using anything other than string values.