FireDAC.Comp.Client.TFDQuery.Filter

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

Delphi

property Filter: string read FFilterText write SetFilterText default 0;

C++

__property Filter = {default=0};

プロパティ

種類 可視性 ソース ユニット
property published
FireDAC.Comp.Client.pas
FireDAC.Comp.Client.hpp
FireDAC.Comp.Client TFDQuery

説明

データセットの現在のフィルタのテキストを示します。

FireDAC.Comp.Client.TFDQuery.Filter は Data.DB.TDataSet.Filter を継承しています。以下の内容はすべて Data.DB.TDataSet.Filter を参照しています。

データセットの現在のフィルタのテキストを示します。

Filter を使用すると、データセット フィルタを指定することができます。フィルタリングがデータセットに適用される際、フィルタの条件に一致するレコードのみが有効になります。Filter は、フィルタ条件を記述します。

例:

  • IBX.IBTable.TIBTable には、Country フィールドの値に、'France' または 'Fiji' が含まれているレコードのみが表示されます。
Country = 'France' or Country = 'Fiji'

LIKE 演算子を使う場合には、その条件に標準 SQL のワイルドカード(パーセント % やアンダースコア _ など)を使用することができます。次のフィルタ条件は、'F' で始まるすべての国を取得します:


Country LIKE 'F%'


Country 列は NULL 値で、Contact_Name は NULL ではない行を表示させるには、IS 演算子を使用します:


Country is NULL and Contact_Name is not NULL


filter 句では、複合式を使用することもできます。次の例では、フランを通貨として使用する Country 値を含む行を抽出します。


Country IN (SELECT Country from Country where Currency = '_Franc')


  • Data.DB.TDataSet では、次のフィルタ条件は、State フィールドが 'CA' または 'MA' であるレコードのみが表示されます:

State = 'CA' or State = 'MA'

次の実行時例では、そのフィルタ式を Data.DB.TDataSet.Filter プロパティに割り当て、フィルタをアクティブにする方法を示します。

with ADODataSet1 do begin
Filtered := False;
Filter := 'State = ' + QuotedStr('CA') + ' OR ' +
'State = ' + QuotedStr('CA');
Filtered := True;
end;
ADODataSet1->Filtered = false;
ADODataSet1->Filter = "State = " + QuotedStr("CA") + " OR " + "State = " + QuotedStr("CA");
ADODataSet1->Filtered = true;

フィルタが設定されたら、空のレコードは、フィルタで明示的に含まれない限り現れません。例:

State <> 'CA' or State = NULL

例:

with ADODataSet1 do begin
Filtered := False;
Filter := 'State = ' + QuotedStr('CA') + ' OR ' +
'State = NULL';
Filtered := True;
end;



ADODataSet1->Filtered = false;
ADODataSet1->Filter = "State = " + QuotedStr("CA") + " OR " + "State = NULL";
ADODataSet1->Filtered = true;


フィールド名に空白がある場合、フィールド名を括弧で囲む必要があります。例:

[Home State] = 'CA' or [Home State] = 'MA'

リモート SQL テーブルやクライアント データセット上の Filter 式は、フィールドの比較をサポートします。例:

Field1 > Field2

フィールド比較は、ローカル テーブル(Paradox、dBASE、Access、FoxPro)ではサポートされていません。

フィルタ文字列で使用可能な演算子の全リストについては、「フィルタ プロパティの設定」を参照してください。

メモ: フィルタは単方向データセットではサポートされていません。. 単方向データセットの Filter プロパティを設定すると、例外が発生します。

FilterOptions プロパティは、大文字/小文字の区別や、部分比較についてのフィルタリングを制御します。

ヒント: アプリケーションは、実行時に Filter を設定して、データセットのフィルタリング条件を変更することができます(たとえば、ユーザーの入力に応じて変更するなど)。

関連項目

サンプル