Bde.DBTables.TTable.SetRange

提供: RAD Studio API Documentation
移動先: 案内検索

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 は次の機能を実行します。

  1. データセットを dsSetKey 状態にします。
  2. 範囲の指定済みの開始値と終了値を削除します。
  3. 範囲の開始値と終了値を設定します。
  4. データセットに範囲を適用します。

StartValues か EndValues のどちらかの要素の数が現在のインデックスのフィールド数よりも小さい場合、残りのエントリは NULL に設定されます。

SetRange の呼び出し後、カーソルは範囲の最初のレコードに置かれたままです。 ただし、SetRange が同じパラメータで 2 回連続して呼び出された場合、内部での 2 回目の呼び出しは最適化されます。


メモ: Paradox テーブルまたは dBASE テーブルの場合、SetRange は、インデックス付けされたフィールドにのみ機能します。SQL データベースの場合、SetRange は、IndexFieldNames プロパティで指定された列でも機能します。

関連項目

コード例