GetRecordIDsFromFoundSet

从当前搜索结果返回列表或 JSON 数组形式的记录 ID。

格式 

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

JSON 字符串(4)

作为具有范围1的字符串形式的 JSON 数组

复制
["1","5","21-23","7"]
  1. 对于 ValueNumberRangesJSONStringRanges,连续的记录 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 ( "{}" ; 
    [ "记录 ID" ; $recordIDs ; JSONArray ] ; 
    [ "布局" ; $currentLayout ; JSONString ] 
  )
]

设置字段 [ Global::LastFind ; $foundSetInfo ]

对于“联系人”布局上的搜索结果,保存在 Global::LastFind 中的 JSON 对象可能如下所示:

复制
{
  "recordIDs": ["1-3", "5", "7-9"],
  "layout": "联系人"
}

稍后,另一个脚本可以使用转到记录列表脚本步骤转到相同的布局和搜索结果。

复制
设置变量 [ $foundSetInfo ; 值: Global::LastFind ]
设置变量 [ $recordIDs ; 值: JSONGetElement ( $foundSetInfo ; "记录 ID" ) ]
设置变量 [ $layoutName ; Value: JSONGetElement ( $foundSetInfo ; "布局" ) ]

转到记录列表 [ 记录 ID 列表: $recordIDs ; 使用布局: $layoutName ; 动画: 无 ]