Skip to main content
Version: Next

Before selection

Before selection {( aTable )} -> Function result

ParameterTypeDescription
aTableTable🡒Table for which to test if record pointer is before the first selected record, or Default table, if omitted
Function resultBoolean🡐Yes (TRUE) or No (FALSE)

Description

Before selection returns TRUE when the current record pointer is before the first record of the current selection of table.Before selection is commonly used to check whether or not PREVIOUS RECORD has moved the current record pointer before the first record. If the current selection is empty, Before selection returns TRUE.

To move the current record pointer back into the selection, use FIRST RECORD, LAST RECORD or GOTO SELECTED RECORD. NEXT RECORD does not move the pointer back into the selection.

Before selection also returns TRUE in the first header when a report is being printed with PRINT SELECTION or from the Print menu. You can use the following code to test for the first header and print a special header for the first page:

  // Method of a form being used as output form for a summary report
 $vpFormTable:=Current form table
 Case of
  // ...
    :(Form event code=On Header)
  // A header area is about to be printed
       Case of
          :(Before selection($vpFormTable->))
  // Code for the first break header goes here
  // ...
       End case
 End case

Example

This form method is used during the printing of a report. It sets a variable, vTitle, to print in the Header area on the first page:

  // [Finances];"Summary" Form Method
 Case of
  // ...
    :(Form event code=On Header)
       Case of
          :(Before selection([Finances))
             vTitle:="Corporate Report 1997" // Set the title for the first page
          Else
             vTitle:="" // Clear the title for all other pages
       End case
 End case

See also

End selection
FIRST RECORD
Form event code
PREVIOUS RECORD
PRINT SELECTION