转到记录列表

进入布局并返回由记录 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 列表的格式 示例 注释

值列表

复制
1
5
21
22
23
7
复制
1
5
21-23
7
请参阅 ValueCount 以了解支持的分隔符。

JSON 值数组

复制
[1,5,21,22,23,7]

["1","5","21","22","23","7"]

["1","5","21-23","7"]

记录 ID 可以是 JSON 数字或字符串。

具有 recordId 键值对的对象的 JSON 数组

复制
[
  {
    "recordId" : "1"
  },
  {
    "recordId" : "5"
  },
  {
    "recordId" : "21"
  },
  {
    "recordId" : "22"
  },
  {
    "recordId" : "23"
  },
  {
    "recordId" : "7"
  }
]

执行语义查找脚本步骤执行 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 ]