Although the capabilities of Access and Crystal are very similar, there are differences and incompatibilities that need to be understood in order to achieve the best conversion results.
Sorting and Grouping Expressions
With MS-Access, you can define calculation fields using the Sorting and Grouping form. For example, the Employee Sales by Country report specifies a grouping of: =[LastName] & ", " & [FirstName]. Crystal Report
does not support formula fields in group definitions.
To work around this problem, include the Access expression within the underlying query:
SELECT [LastName] & ", " & [FirstName] As FullName, ...
Then use the FullName field in the Sorting and Grouping form
The Access "Keep All Groups Together" option is not directly supported by CR. Access reports requiring this construct must be redesigned.
Invalid Formula Fields
After converting Access reports, Crystal Reports (CR) will issue Invalid Formula Field messages when a converted expression fails to compile. This can happen for a variety of reasons. As a general rule, reformulate the Access expression when possible to conform with available CR formulas.
In Access, the comparison "Field1 Is Null" is not supported by CR. For CR compatibility, replace "Field1 Is Null" to IsNull(Field1) in the Access report design.
The Access Format() function is not directly supported by CR, but equivalent date and number formatting is supported for most Format() expressions. For example, instead of specifying a calculation field of =Format(Date(),"Medium Date"), specify =Date() and set the Field's Format property to Medium Date.
Aggregate Calculations
Expressions cannot be used within aggregate functions. For example, Sum([SaleAmount]*0.1) is invalid with CR. Instead use Sum([SaleAmount]) * 0.1.
Multi-Column Reports
Access reports that specify multiple columns (for mailing labels mostly) must be defined manually with CR after the report is generated.
In VS, display the CR report control file (.rpt). Right click on the Field Explorer pane and choose the Format section... item. Click on the Detail entry and check the Format With Multiple Columns box. Click the Layout tab.
Open the associated Access report in design view. Choose the Page Setup item from the File menu . Click the Columns tab. Set the CR Detail Size Width with the Access Column Size Width. In the CR Gap Between Details, set Horizontal to the Access Column Spacing value and Vertical to the Row Spacing value.
Set the CR Printing Direction with the associated Access Column Layout value.
Removing Decimals
CR inserts decimal points in numeric fields by default. In order to remove or reformat decimals, use the CR ToText function, ex. ToText(Field1, 0) removes decimals.
Nested Sub-Reports
CR does not support nested sub-reports. Access reports that employ nested forms or reports must be redesigned.
Tight Horizontal
The CR "Tight Horizontal" property is set to true for all fields by default. Some CR columns (ex. containing hyphens (-)) will appear skewed. Turn the Tight Horizontal off for these fields.
Filter Property
The Access Filter property is not directly supported by CR. To work-around this problem, include a parameter field in the underlying query and specify the filter condition in the WHERE clause.