Bde.DBTables.TTable.SetRange

From RAD Studio API Documentation
Jump to: navigation, search

[–] Properties
Type:
procedure
function
Visibility: public
Source:
Bde.DBTables.pas
Bde.DBTables.hpp
Unit: Bde.DBTables
Parent: TTable

Delphi

procedure SetRange(const StartValues, EndValues: array of const);

C++

void __fastcall SetRange(const System::TVarRec *StartValues, const System::NativeInt StartValues_High, const System::TVarRec *EndValues, const System::NativeInt EndValues_High);

Description

Sets the starting and ending values of a range, and applies it.

Call SetRange to specify a range and apply it to the dataset. The new range replaces the currently applied range, if any.

StartValues indicates the field values that designate the first record in the range. StartValues_Size specifies the index of the last value in StartValues (one less than the total number of values).

EndValues indicates the field values that designate the last record in the range. EndValues_Size specifies the index of the last value in EndValues (one less than the total number of values).

SetRange combines the functionality of SetRangeStart, SetRangeEnd, and ApplyRange in a single procedure call. SetRange performs the following functions:

  1. Puts the dataset into dsSetKey state.
  2. Erases any previously specified starting range values and ending range values.
  3. Sets the start and end range values.
  4. Applies the range to the dataset.

If either StartValues or EndValues has fewer elements than the number of fields in the current index, then the remaining entries are set to NULL.

After a call to SetRange, the cursor is left on the first record in the range. However, if two calls to SetRange are made in succession with the same parameters, the second internal call is optimized away.


Note: With Paradox or dBASE tables, SetRange works only on indexed fields. With SQL databases, SetRange also works with any columns specified in the IndexFieldNames property.

See Also

Code Examples