ACC2000: Error with Linked Crosstab Subform or Subreport (209218)



The information in this article applies to:

  • Microsoft Access 2000

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.

MORE INFORMATION

Steps to Reproduce Behavior

  1. Open the sample database Northwind.mdb.
  2. 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
    					
  3. 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.
  4. 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.
  5. 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).
  6. 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.
  7. Preview or print the XtabMain report. Note that you receive the error message mentioned in the "Symptoms" section.

REFERENCES

For more information about the ColumnHeadings property, click Microsoft Access Help on the Help menu, type ColumnHeadings property in the Office Assistant or the Answer Wizard, and then click Search to view the topic.

Modification Type:MajorLast Reviewed:12/12/2002
Keywords:kbdta kberrmsg kbprb KB209218