How to create a report that is based on a query in Visual FoxPro


It is possible to create a report based on a query by placing the SELECT-SQL statement in the Init method of the DataEnvironment.

More Information

Use the following steps to create a report based on a query:

  1. Issue the following command in the command window:
          CREATE TABLE TEST (fld_one C(5), fld_two N(5))
  2. Add five records, three of them with "aaa" in fld_one.
  3. Create a report, and add the table to the DataEnvironment.
  4. Drag the fields to the detail band.
  5. Remove the Alias reference from each field in the report.
  6. In the Init method of the DataEnvironment enter the following code:
          USE test  && Only need if the table is not already open.
    SELECT fld_one, fld_two ;
    FROM Test where fld_one= "aaa" ;
  7. In the Destroy method of the DataEnvironment enter CLOSE ALL. (You may leave this out if you do not want to close everything.)
  8. Remove the table from the DataEnvironment.
  9. Save the report as QueryTest.
  10. In the Command window issue either of the following two commands:
           REPORT FORM Querytest to PRINT
           REPORT FORM Querytest PREVIEW


For another method of doing this based on a view, please see the following articles in the Microsoft Knowledge Base:
130122 How To Add SQL SELECT to the Data Environment of a Report

Id. de artículo: 157947 - Última revisión: 06/20/2008 - Revisión: 1