Retrieving data

In a report, you can prompt for retrieval criteria, retrieve rows as needed, and save retrieved rows to disk.

Prompting for retrieval criteria in a report

You can define your report so that it always prompts for retrieval criteria just before it retrieves data.

To prompt for retrieval criteria in a report:

  1. If the Column Specifications view is not already displayed, select View>Column Specifications from the menu bar.

    In the default layout for the Report painter, the Column Specifications view displays in a stacked pane under the Properties view. All columns defined for the report are listed in the view.

  2. Select the Prompt check box next to each column for which you want to specify retrieval criteria at runtime.

    When you specify prompting for criteria, InfoMaker displays the Specify Retrieval dialog box just before a retrieval is to be done.

    Each column you selected in the Column Specification view displays in the grid. You can specify criteria here exactly as in the grid in the Quick Select dialog box. Criteria specified here are added to the WHERE clause for the SQL SELECT statement defined for the report.

Testing in InfoMaker

You can test the prompting for criteria by retrieving data in the Preview view of the report.

Using edit styles

If a column uses a code table or the RadioButton, CheckBox, or DropDownListBox edit style, an arrow displays in the column header and users can select a value from a drop-down list when specifying criteria:

If you do not want the drop-down list used for a column for specifying retrieval criteria to display, select the Override Edit check box on the General page of the column's Properties view.

Forcing the entry of criteria

If you have specified prompting for criteria for a column, you can force the entry of criteria for the column by selecting the Equality Required check box on the Behavior page of the column's Properties view. InfoMaker underlines the column header in the grid during prompting. Selection criteria for the specified column must be entered, and the = operator must be used.

For more information

The section Using Quick Select describes in detail how you can specify selection criteria in the grid.

Retrieving rows as needed

If a report retrieves hundreds of rows, there can be a noticeable delay while all the rows are retrieved. For these reports, InfoMaker can retrieve only as many rows as it has to before displaying data.

For example, if a report displays only 10 rows at a time, InfoMaker only needs to retrieve 10 or more rows before presenting the data. Then, as users page through the data, InfoMaker continues to retrieve what is necessary to display the new information. There may be slight pauses while InfoMaker retrieves the additional rows, but these pauses are usually preferable to waiting a long time to start working with data.

To specify that a report retrieve only as many rows as it needs to:

  • Select Rows>Retrieve Options>Rows As Needed from the menu bar.

    With this setting, InfoMaker presents data and returns control to you when it has retrieved enough rows to display in the report.

    Retrieve Rows As Needed is overridden if you have specified sorting or have used aggregate functions, such as Avg and Sum, in the report. This is because InfoMaker must retrieve every row before it can sort or perform aggregates.

    In a multiuser situation, Retrieve Rows As Needed might lock other people out of the tables.

Saving retrieved rows to disk

If you want to maximize the amount of memory available to InfoMaker and other running applications, InfoMaker can save retrieved data on your hard disk in a temporary file rather than keep the data in memory. InfoMaker swaps rows of data from the temporary file into memory as needed to display data.

To maximize available memory by saving retrieved rows to disk:

  • Select Rows>Retrieve Options>Rows to Disk from the menu bar.

    With this setting, when displaying data, InfoMaker swaps rows of data from the temporary file into memory instead of keeping all the retrieved rows of data in memory.