4D v16.3DIFFERENCE |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
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 v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)