4D v20.1DIFFERENCE |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
4D v20.1
DIFFERENCE
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DIFFERENCE ( set ; subtractSet ; resultSet ) | ||||||||
| 引数 | 型 | 説明 | ||||||
| set | 文字 |
|
セット | |||||
| subtractSet | 文字 |
|
取り除くセット | |||||
| resultSet | 文字 |
|
結果のセット | |||||
DIFFERENCEコマンドは、setとsubtractSetを比較し、subtractSetに格納されている全てのレコードをsetから取り除きます。つまり、setにだけ存在し、subtractSetには存在しないレコードのみをresultSetに格納します。以下の表に、DIFFERENCEコマンドで考えられるすべての組み合わせを示します。
| Set1 | Set2 | 結果セット |
| ○ | × | ○ |
| ○ | ○ | × |
| × | ○ | × |
| × | × | × |
以下の図に、集合差異演算の処理結果を図で示します。塗りつぶした部分が結果のセットです。

resultSetは、DIFFERENCEコマンドで作成されます。resultSetと同じ名前のセット (set, subtractSetも含めて) が既に存在していた場合、resultSetに置き換えられます。setとsubtractSetは同じテーブルに属していなければなりません。resultSetもsetとsubtractSetと同じテーブルに属します。
4D Server: クライアント/サーバモードにおいて、セットはタイプ (インタープロセス、プロセスおよびローカル) およびそれらがどこで作成されたか (サーバまたはクライアント) によって、アクセス可能かどうかが決定されます。DIFFERENCEでは3つのセットが同じマシン上でアクセスできる必要があります。詳細は4D Server Referenceマニュアルの4D Server: セットと命名セレクションに関する説明を参照してください。
以下の例は、表示したセレクションからユーザが選択したレコードを排除します。このレコードリストは、以下のステートメントで画面に表示されます。
DISPLAY SELECTION([Customers]) `customers をリスト表示レコードリストの下部には、オブジェクトメソッド付きのボタンがあります。このオブジェクトメソッドはユーザが選択したレコード (UserSet) を排除し、新しいセットを表示します。
CREATE SET([Customers];"$Current") `カレントセレクションのセットを作る
DIFFERENCE("$Current";"UserSet";"$Current") `選択したレコードを除外する
USE SET("$Current") `新しいセットを使用する
CLEAR SET("$Current") `セットを消去する
プロダクト: 4D
テーマ: セット
番号:
122
初出: < 4D v6
ランゲージリファレンス ( 4D v20)
ランゲージリファレンス ( 4D v20.1)
コメントを追加