A Request is a Request for information from a database. The Request contains all of the information necessary to retrieve the required information. Requests run in Foxfire! will produce some sort of output. A Request could produce a report, a FoxPro Table, an XML File or several different types of Excel output. The output from the Request can be sent to a printer, the screen, a PDF file, Excel, Word or several other destinations. That is why Foxfire! calls them Requests, they are much more than simple reports.
What types of Requests are there?
Request types control the type of processing the Request performs. The Request types include:
- Detail or Master/Detail: Displays a row in the output for every data record
- Summary: Records are grouped, only summary information and calculations are included in the output
- Cross-Tab: Analyzes a relationship between two Data Items and creates a table which displays row and column headings based on the two Data Items selected. The body of the table is a matrix showing a calculated field based on a third Data Item which is specified in the Request
- Labels: One label for each record (such as name and address)
When you create a new Request or edit an existing Request you open the Workbench and Design Preview windows. A Request contains several categories of information corresponding to the Workbench tabs. All of the information displayed in the Design Preview window is also reflected in the Workbench window. The Design Preview allows you to "preview" what your report will look like in real time. It will also allow you to make changes in your Request visually rather than doing everything from the Workbench.
Here is a list of the various tabs in the Workbench with an explanation of how they are used:
- Describe Request: Request name, title, description and type
- Select Data Items: Data Items that you want to include in the output
- Filter Results: How will the data be filtered (what values will be included or excluded)
- Sort and Group Results: How will the data be sorted and grouped
- Specify Output: Where will the output of the Request be sent
- Custom Processing: Any custom processing to be included when running this Request