GetRecordIDsFromFoundSet

現在の対象レコードのレコード ID を一覧または JSON 配列として返します。関連レコードの ID を取得するには、テーブルオカレンスまたはポータルの名前を指定します。

構文 

GetRecordIDsFromFoundSet (タイプ { ; テーブルオカレンスまたはポータル})

引数 

タイプ - 返されるレコード ID の形式を指定する数式。説明を参照してください。

テーブルオカレンスまたはポータル - 関連テーブルオカレンスの名前または現在のレイアウト上のポータルのオブジェクト名を指定するテキスト式。

中カッコ { } 内の引数はオプションです。

戻り値のデータタイプ 

テキスト

起点バージョン 

22.0

説明 

この関数は現在の対象レコードのすべてのレコードのレコード ID を現在の順序で返します。または指定したテーブルオカレンスまたはポータルで現在のレコードに関連するすべてのレコードのレコード ID を返します。レコード ID はレコードの作成時に FileMaker クライアントがテーブル内の各レコードに割り当てる固有の識別子で、変更できません。

タイプ引数は返されるデータの形式を決定します。タイプを指定するには定数名または数値のいずれかを使用します。

タイプ引数 返されるレコード ID の形式

ValueNumber (0)

改行で区切られた値の一覧

コピー
1
5
21
22
23
7

JSONString (1)

値の JSON 配列 (文字列)

コピー
["1","5","21","22","23","7"]

JSONNumber (2)

値の JSON 配列 (数字)
コピー
[1,5,21,22,23,7]

ValueNumberRanges (3)

範囲を含む値の一覧1

コピー
1
5
21-23
7

JSONStringRanges (4)

範囲を含む JSON 配列 (文字列)1

コピー
["1","5","21-23","7"]
  1. ValueNumberRanges および JSONStringRanges の場合、連続したレコード ID が範囲にまとめられるため返されるデータのサイズを小さくするのに役立ちます。

テーブルオカレンスの関連レコードの ID を取得するには、テーブルオカレンスまたはポータル引数を使用して関連テーブルオカレンスの名前を指定します。関連レコード ID はリレーションシップによって指定されたソート順で返されます。リレーションシップの作成と変更を参照してください。

現在のレイアウト上のポータルの関連レコードの ID を取得するには、テーブルオカレンスまたはポータル引数を使用してポータルのオブジェクト名を指定します (オブジェクトの名前付けを参照してください)。返されるレコード ID は [ポータル設定] ダイアログボックスのポータルの設定に従ってフィルタリングおよびソートされます。関連レコードを表示するためのポータルの作成を参照してください。

メモ 

  • 返されるレコード ID を [レコード一覧へ移動] スクリプトステップで使用すると、同じテーブルに基づいたレイアウトを指定して同じ対象レコードを再作成できます。

  • レコードが見つからない場合、この関数は指定された形式で空の結果を返します。空の値の一覧の場合、空の文字列 ("") を返します。空の JSON 配列の場合、"[]" を返します。

  • テーブルオカレンスまたはポータル引数が指定されている場合、この関数はまずその値がテーブルオカレンス名に一致するかどうかを確認します。失敗した場合、その値がポータルのオブジェクト名に一致するかどうかを確認します。一致する対象が見つからない場合、この関数は「?」を返します。

例 1 - レコード ID の取得 (値の一覧)

レコード ID を改行区切りの一覧として返します。

コピー
GetRecordIDsFromFoundSet (ValueNumber)

現在の対象レコードに ID 101、102、および 105 のレコードが含まれている場合、この例では次のように返されます:

コピー
101
102
105

例 2 - ポータルから関連レコード ID を数字の JSON 配列として取得

「連絡先ポータル」という名前のポータルオブジェクトから関連レコード ID を数字の JSON 配列として返します。

コピー
GetRecordIDsFromFoundSet (JSONNumber ; "連絡先ポータル")

現在のレコードのポータルでソートおよびフィルタリングにより 3 つの関連レコード (ID 1101、702、1015) がある場合、この例では次のように返されます:

コピー
[1101,702,1015]

例 3 - 後で再作成する対象レコードの保存

現在の対象レコードのレコード ID と現在のレイアウト名を含む JSON オブジェクトをグローバルフィールドに保存します。

コピー
変数を設定 [$recordIDs ; 値: GetRecordIDsFromFoundSet (JSONStringRanges)]
変数を設定 [$currentLayout ; 値: Get (レイアウト名)]

変数を設定 [$foundSetInfo ; 値: 
  JSONSetElement ("{}" ; 
    ["recordIDs" ; $recordIDs ; JSONArray] ; 
    ["layout" ; $currentLayout ; JSONString]
  )
]

フィールド設定 [グローバル::最終検索 ; $foundSetInfo]

「連絡先」レイアウト上の対象レコードの場合、グローバル::最終検索に保存された JSON オブジェクトは次のように表示されます:

コピー
{
  "recordIDs": ["1-3", "5", "7-9"],
  "layout": "連絡先"
}

後で、別のスクリプトが [レコード一覧へ移動] スクリプトステップを使用して同じレイアウトおよび対象レコードに移動できます。

コピー
変数を設定 [$foundSetInfo ; 値: グローバル::最終検索]
変数を設定 [$recordIDs ; 値: JSONGetElement ($foundSetInfo ; "recordIDs")]
変数を設定 [$layoutName ; 値: JSONGetElement ($foundSetInfo ; "layout")]

レコード一覧へ移動 [レコード ID の一覧: $recordIDs ; 使用するレイアウト: $layoutName ; アニメーション: なし]