转到记录列表
进入布局并返回由记录 ID 列表指定的搜索结果。
另请参阅
选项
-
记录 ID 列表是记录要转到的标识符列表。记录 ID 的顺序指定用于搜索结果的排序顺序。记录 ID 必须是与指定布局关联的表格中的有效记录标识符。有关支持的列表格式,请参阅描述。
-
“使用如下布局显示记录”指定当前文件中将用于显示列表中记录的布局。如果没有指定布局,则使用当前布局。
-
“在新窗口中显示”在新窗口中显示相关记录,并可以让您指定新窗口的设置。请参阅新建窗口脚本步骤。
提示 要自动将新窗口调到前面,请添加选择窗口脚本步骤。
-
“动画”指定显示记录时要使用的动画(仅 FileMaker Go)。
兼容性
产品 | 是否支持 |
FileMaker Pro | 部分 |
FileMaker Go | 是 |
FileMaker WebDirect | 部分 |
FileMaker Server | 部分 |
FileMaker Cloud | 部分 |
FileMaker Data API | 部分 |
自定义 Web 发布 | 部分 |
原始版本
22.0
说明
此脚本步骤将转到当前窗口(或新窗口)中的指定布局。然后,它将找到的记录集及其排序顺序更改为“记录 ID 列表”指定的记录,并进入该记录集中的第一个记录。
您可以使用以下任何格式指定“记录 ID 列表”选项:
记录 ID 列表的格式 | 示例 | 注释 |
---|---|---|
值列表 |
复制
复制
|
请参阅 ValueCount 以了解支持的分隔符。 |
JSON 值数组 |
复制
|
记录 ID 可以是 JSON 数字或字符串。 |
具有 |
复制
|
由执行语义查找脚本步骤和执行 FileMaker Data API脚本步骤执行的查找请求,以兼容格式返回 JSON。 |
连续记录 ID 可以作为值列表(例如,21-23
)或 JSON 字符串数组(例如,[“21-23”]
)中的范围(两个数字用连字符分隔)给出。JSON 数字数组中的范围是无效的 JSON,这导致此脚本步骤返回错误。
如果找不到任何指定的记录 ID(例如,如果记录已被删除),则会忽略这些 ID,并且搜索结果仅包含成功找到的记录。搜索结果中的记录按排序顺序显示,与提供的记录 ID 的顺序相匹配。在“排序记录”对话框中,此排序状态由<预定义顺序>指示。
注释
-
记录 ID 必须是创建记录时 FileMaker 客户端分配的有效记录标识符。这些是其他地方使用的相同记录 ID,例如 Get (记录 ID)和 GetRecordIDsFromFoundSet 函数以及 FileMaker Data API 和 OData API 调用返回的记录 ID。不支持主键字段值或其他自定义标识符。
-
如果找不到任何指定的记录,此脚本步骤将返回错误代码 101(“记录丢失”)或 401(“没有与请求匹配的记录”),可以使用 Get (上一个错误)函数捕获。
-
当此脚本步骤打开新窗口时,新窗口不会激活 OnFirstWindowOpen 脚本触发器或 OnWindowOpen 脚本触发器,因为触发的脚本可能无法转到所需的布局或视图。如果您希望在此脚本步骤打开新窗口后执行脚本,请添加“执行脚本”作为下一个脚本步骤。
-
“动画”选项仅在 FileMaker Go 中受支持:
-
动画只能用于选定的窗口。
-
使用滑块或状态工具栏按钮时,您不能使用动画来在各记录之间进行导航。
-
示例 1 -转到值列表中的记录
转到“联系人”布局,并显示由回车分隔的记录 ID 列表指定的记录。
设置变量 [ $recordList ; 值: "15¶8¶23¶4¶12" ]
转到记录列表 [ 记录 ID 列表: $recordList ; 使用布局: "联系人" (联系人) ]
示例 2 - 从保存的语义查找转到记录
在“执行语义查找”的示例 2 中执行的语义查找将 $$result 中的记录列表保存为具有 recordId
键值对的对象的 JSON 数组。(请注意,已保存的搜索结果的 JSON 格式与“转到记录列表”兼容。)稍后在同一 FileMaker 客户端会话中,此脚本将打开一个新窗口,进入相同的布局(会议详细信息),并显示相同的搜索结果。如果失败,脚本会显示一条错误消息。
转到记录列表 [ 记录 ID 列表: $$result ; 使用布局: "会议详细信息" (会议) ; 新建窗口 ]
If [ Get ( 上一个错误 ) ≠ 0 ]
显示自定义对话框 [ "错误" ; "无法进入指定的记录。 错误: " & Get ( 上一个错误 ) ]
End If
示例 3 - 在主机上重现客户端的搜索结果
在 FileMaker 客户端上对库存低 (< 50) 的产品执行查找,然后使用 GetRecordIDsFromFoundSet函数获取搜索结果的记录 ID。然后,客户端脚本在主机上调用脚本,并传递记录 ID 列表。
客户端脚本
转到布局 [ "产品 (产品) ; 动画: 无 ]
进入查找模式 [ 暂停: 关闭 ]
设置字段 [ Products::Inventory ; "<50" ]
执行查找 [ ]
设置变量 [ $foundSetIDs ; 值: GetRecordIDsFromFoundSet ( ValueNumberRanges ) ]
在服务器上执行脚本 [ "主机脚本" ; 指定: 来自列表 ; 参数: $foundSetIDs ; 等待完成: 打开 ]
显示自定义对话框 [ "Result" ; Get ( 脚本结果 ) ]
主机脚本会进入产品布局上的记录列表,计算结果,然后将结果传递回客户端脚本。
主机脚本
设置变量 [ $recordIDs ; Get ( 脚本参数 ) ]
转到记录列表 [ 记录 ID 列表: $recordIDs ; 使用布局: "产品" (产品) ; 动画: 无 ]
# 处理搜索结果中的记录并返回 $result
退出脚本 [ 文本结果: $result ]