Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Report help
Message
De
20/06/2000 11:30:46
 
 
À
20/06/2000 10:58:18
Brent Knight
Progressive Impressions International
Bloomington, Illinois, États-Unis
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Titre:
Divers
Thread ID:
00382206
Message ID:
00382227
Vues:
20
I wrote something along the lines of what you're considering in an old DOS version of a program. It was basically a report engine which used a handful of report forms as templates which could generate a tremendous variety of reports with a great deal of user control.

Let me sketch the concept.
At the report form level:
1. Grouping bands for up to 4 levels of group bys.
2. Detail information which is basically a long string concatenating all desired textual (non calculated) information.
3. 2 fields for numeric calculations.
4. Header fields which match to the above 3 categories of information.

The report engine was basically data driven, and had arrays which carried information which was either displayed or macro-substituted to provide the desired result. There were 2 basic array types: one handling the display of information (the report form side) and the other handling the options available for SQL statements and the creation of a SQL statement which performed the query. The latter included join information, creation of filters, group/order bys, etc.

Reports which the users saw were conceptualized around specific queries. The user had the option of choosing from 0 to 10 filters, 0 to 4 group/order bys, output options, and a variety of preset base queries upon which those other options worked. Without too much additional work, I could have given users the ability to pick fields for their reports. The user choices were then integrated into the data side of the machine to create the SQL. The SQL generated fields, named using the AS clause, matched the fields in the generic report templates.

The constraints which I accepted -- not real fancy, one basic format for reports, and monospaced fonts (so that information generated as a string could be lined up with header information) made this capability better suited for ad-hoc reporting/data mining than for finished reports.

What made it worthwhile was the fact that we were generating information which the professionals using it had never had before. The ad hoc reporting feature provided them valuable access into their data without any programming on their part.

Perhaps this gives you a sense of strategy and the tradeoffs involved in one successful attempt to do what you're interested in.

I haven't used Doug Hennig's report object, but that may give you some needed flexilibity, also.

Jay
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform