Microsoft KB Archive/209218

= ACC2000: Error with Linked Crosstab Subform or Subreport =

Article ID: 209218

Article Last Modified on 12/12/2002

-

APPLIES TO


 * Microsoft Access 2000 Standard Edition

-



This article was previously published under Q209218



Moderate: Requires basic macro, coding, and interoperability skills.

This article applies only to a Microsoft Access database (.mdb).



SYMPTOMS
When you print or preview a report, you may receive the following error message:

You can't use a pass-through query or a non-fixed-column crosstab query as a record source for a subform or subreport.



CAUSE
Unless a crosstab query uses fixed column headings, you cannot preview or print a main report with a bound subreport that is based on a crosstab query.



RESOLUTION
To work around this behavior, add fixed column headings to the crosstab query's properties. For example, the following steps show how to fix the problem created in the "Steps to Reproduce Behavior" section of this article:
 * 1) Change the Field in the Xtab query (created in step 1 of the "Steps to Reproduce Behavior" section) from ShipVia to Shipper: "Shipper " & [ShipVia]
 * 2) On the View menu, click Properties.
 * 3) In the Column Headings box, type "Shipper 1","Shipper 2", "Shipper 3"

Another workaround is to delete the LinkChildFields and LinkMasterFields properties of the subreport. You will then be able to run the report; however, the report will show every record in the subreport.



Steps to Reproduce Behavior
 Open the sample database Northwind.mdb.  Create the following crosstab query based on the Orders table. Save the query as Xtab:   Query: Xtab Type: Crosstab Query

Field: EmployeeID Total: Group By     Crosstab: Row Heading

Field: ShipVia Total: Group By     Crosstab: Column Heading

Field: Freight Total: Sum Crosstab: Value  Use the Report Wizard to create a new report based on the Xtab query. Include all the query fields in your report. Save the report as XtabSub. Use the Report Wizard to create another new report based on the Xtab query. Include only the EmployeeID field in this report, and sort by the EmployeeID field. Save this report as XtabMain. Embed the XtabSub report in the detail section of the XtabMain report. You can do this by dragging the subreport from the Database window to the detail section of the main report (which must be open in Design view).</li> In Design view of the main report, view the property sheet for the XtabSub report. Verify that the LinkChildFields and LinkMasterFields properties are set to EmployeeID.</li> Preview or print the XtabMain report. Note that you receive the error message mentioned in the "Symptoms" section.</li></ol>

<div class="references_section">