表示: Delphi C++
表示設定

Bde.DBTables.TBDEDataSet.Locate

提供:XE2 API Documentation
移動: 案内, 検索

Delphi

function Locate(const KeyFields: string; const KeyValues: Variant;  Options: TLocateOptions): Boolean; override;

C++

virtual bool __fastcall Locate(const System::UnicodeString KeyFields, const System::Variant &KeyValues, Data::Db::TLocateOptions Options);

プロパティ

種類 可視性 ソース ユニット
function public
Bde.DBTables.pas
Bde.DBTables.hpp
Bde.DBTables TBDEDataSet

説明

データセットを検索して指定されたレコードを探し,レコードを現在のレコードにします。

Locate メソッドを呼び出すと,データセットから特定のレコードを検索し,そのレコードにカーソルを移動できます。

KeyFields は,検索する項目名のセミコロン区切りのリストが入った文字列です。

KeyValues は,キー項目内で一致する値を持つバリアント配列です。KeyFields が単一の項目をリストする場合,KeyValues は,目的のレコードのその項目の値を示します。複数の検索値を指定するには,バリアント配列を KeyValues で渡すか,VarArrayOf ルーチンを使って迅速にバリアント配列を構築します。例を示します。



with CustTable do
Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver', 'P', '408-431-1000']), [loPartialKey]);



TLocateOptions Opts;
Opts.Clear();
Opts << loPartialKey;
Variant locvalues[2];
locvalues[0] = Variant("Sight Diver");
locvalues[1] = Variant("P");



CustTable->Locate("Company;Contact", VarArrayOf(locvalues, 1), Opts);



Options は,文字列項目を検索する際に追加の検索許容度をオプションで指定するセットです。Options に loCaseInsensitive 設定が入っている場合には,Locate は項目の照合時に大文字と小文字を区別しません。Options に loPartialKey 設定が入っている場合には,Locate は KeyValues 内の文字列の部分照合を行うことができます。Options に空のセットを指定するか,KeyFields プロパティに文字列項目がない場合,Options は無視されます。

Locate は,一致するレコードを見つけると true を返し,それを現在のレコードにします。そうでない場合には,Locate は false を返します。

Locate は,最も早い方法を使って一致するレコードを見つけます。KeyFields の検索項目がインデックス付けされており,そのインデックスが指定された検索オプションと互換性がある場合,Locate はそのインデックスを使用します。それ以外の場合,Locate は検索のためにフィルタを作成します。

関連項目

以前のバージョン
他の言語