GetRecordIDsFromFoundSet

現在の対象レコードのレコード ID を一覧または JSON 配列として返します。

構文 

GetRecordIDsFromFoundSet ( タイプ )

引数 

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

戻り値のデータタイプ 

テキスト

起点バージョン 

22.0

説明 

この関数は現在の対象レコード内のすべてのレコードのレコード 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 を [レコード一覧へ移動] スクリプトステップで使用すると、同じテーブルに基づいたレイアウトを指定して同じ対象レコードを再作成できます。

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

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

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

コピー
GetRecordIDsFromFoundSet (ValueNumber)

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

コピー
101
102
105

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

現在の対象レコードのレコード 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 ; アニメーション: なし]