Bde.DBTables.TTable.SetRange
Delphi
procedure SetRange(const StartValues, EndValues: array of const);
C++
void __fastcall SetRange(const System::TVarRec *StartValues, const int StartValues_High, const System::TVarRec *EndValues, const int EndValues_High);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
public | Bde.DBTables.pas Bde.DBTables.hpp |
Bde.DBTables | TTable |
説明
範囲の開始値と終了値を設定し、それを適用します。
SetRange メソッドを呼び出すと、範囲を指定してデータセットに適用できます。現在適用されている範囲があれば、それが新しい範囲で置き換えられます。
StartValues パラメータは、範囲の最初のレコードを指定するフィールド値を示します。StartValues_High パラメータは、StartValues に含まれている最後の値のインデックス(値の総数よりも 1 少ない値)を示します。
EndValues パラメータは、範囲の最後のレコードを指定するフィールド値を示します。EndValues_High パラメータは、EndValues に含まれている最後の値のインデックス(値の総数よりも 1 少ない値)を示します。
SetRange は、SetRangeStart、SetRangeEnd、ApplyRange の機能を組み合わせて、単一の手続き呼び出しにしたものです。SetRange は次の機能を実行します。
- データセットを dsSetKey 状態にします。
- 範囲の指定済みの開始値と終了値を削除します。
- 範囲の開始値と終了値を設定します。
- データセットに範囲を適用します。
StartValues か EndValues のどちらかの要素の数が現在のインデックスのフィールド数よりも小さい場合、残りのエントリは NULL に設定されます。
SetRange の呼び出し後、カーソルは範囲の最初のレコードに置かれたままです。 ただし、SetRange が同じパラメータで 2 回連続して呼び出された場合、内部での 2 回目の呼び出しは最適化されます。
メモ: Paradox テーブルまたは dBASE テーブルの場合、SetRange は、インデックス付けされたフィールドにのみ機能します。SQL データベースの場合、SetRange は、IndexFieldNames プロパティで指定された列でも機能します。