QUERY SELECTION BY ATTRIBUTE
QUERY SELECTION BY ATTRIBUTE ( {aTable}{;}{conjOp ;} objectField ; attributePath ; queryOp ; value {; *} )
| 引数 | 型 | 説明 | |
|---|---|---|---|
| aTable | Table | → | セレクションまたはレコードを返すテーブル 省略時:デフォルトテーブル |
| conjOp | * | → | 複数のクエリ(あれば)を連結する際に使用する結合演算子 |
| objectField | Field | → | 属性をクエリするオブジェクトフィールド |
| attributePath | Text | → | 属性の名前またはパス |
| queryOp | *, Text | → | クエリ演算子(比較演算子) |
| value | Text, Number, Date, Time | → | 比較する値 |
| * | 演算子 | → | クエリ継続フラグ |
説明
QUERY SELECTION BY ATTRIBUTE は QUERY BY ATTRIBUTE と同じように動作します。相違点は検索する範囲が異なるだけです:
- QUERY BY ATTRIBUTE はテーブルの全レコードからレコードを検索します。
- QUERY SELECTION BY ATTRIBUTE はテーブルのカレントセレクションからレコードを検索します。
QUERY SELECTION BY ATTRIBUTE はaTable 内でレコードを検索します。QUERY SELECTION BY ATTRIBUTE コマンドはカレントプロセスにおいて、aTable のカレントセレクションを更新し、新しいカレントセレクションの先頭レコードをカレントレコードに設定します。
詳細については QUERY BY ATTRIBUTE の説明を参照ください。
QUERY SELECTION BY ATTRIBUTE コマンドは、クエリが * 引数で結合された QUERY BY ATTRIBUTE (および QUERY) 呼び出しのシークエンスを使用して定義することが出来ない場合に有用です。例えば、カレントセレクションがクエリではなく、USE SET のようなコマンドによって作成されている場合などが該当します。
例題
ユーザーが選択したレコードを対象に、年齢が20-30歳の個人を検索します:
USE SET("UserSet") // カレントセレクションを選択レコードと置き換えます
QUERY SELECTION BY ATTRIBUTE([Persons];[Persons]OB_Info;"age";>;20;*)
QUERY SELECTION BY ATTRIBUTE([Persons];&;[Persons]OB_Info;"age";<;30) // クエリが実行されます
参照
プロパティ
| コマンド番号 | 1424 |
| スレッドセーフである | ✓ |
| システム変数を更新する | OK |
| カレントレコードを変更する | |
| カレントセレクションを変更する |