Loop

重复一组脚本步骤,以执行批量处理。

选项 

刷新 指定在循环中何时刷新缓存关系并更新依赖项:

  • 始终:对于循环中修改数据的每个步骤,始终刷新所有缓存的关系并更新所有依赖项。这是默认选项,并确保相关数据按预期可用。

  • 最小幅度:对于循环中修改数据的每个步骤,刷新缓存关系并更新与当前表摹本仅一个关系的相关数据的依赖项。

  • 延迟:当循环开始时,使用当前缓存的关系和数据。等到循环退出以刷新缓存关系并更新依赖项。

兼容性 

产品 是否支持
FileMaker Pro
FileMaker Go
FileMaker WebDirect
FileMaker Server
FileMaker Cloud
FileMaker Data API
自定义 Web 发布

原始版本 

6.0 或更低版本

说明 

例如,使用 Loop 从搜索结果的所有记录中导出容器字段内容。此脚本步骤和 End Loop 脚本步骤分别标记重复的脚本步骤结构的开始和结尾。该脚本执行包含在循环结构中的脚本步骤,直到遇到以下某个脚本步骤为止:

每个 Loop 步骤在其后的某个位置必须有一个相同缩进的对应 End Loop 步骤。每次使用 Loop 脚本步骤时,脚本编辑面板都会自动输入 End Loop 步骤。

注释 

  • 是否更改 刷新 选项取决于数据库的设计。一般来说,如果您的循环不修改影响关系的数据,则“延迟”可能是最快的选择。但是,如果它确实修改了此类数据,并且数据只有一个关系,请尝试最小值。否则,将其设置为“始终”。有关更多信息,请参阅 这个 Claris 工程博客帖子

示例 1 

将“客户::工作电话”的内容拷贝到所有记录的“客户::日常联系”中。

复制
转到记录/请求/页面 [第一个]
Loop [ 刷新: 始终 ]
    设置字段 [客户::日常联系; 客户::工作电话]
    转到记录/请求/页面 [下一步; 最后一步后退出: 打开]
End Loop

示例 2 

使用 Loop 语句依次对记录进行处理以导出“容器”字段中的文件。

复制
设置变量 [$路径; 值:Get ( 文档路径 ) & 产品::容器]
转到记录/请求/页面 [第一个]
Loop [ 刷新: 始终 ]
    导出字段内容 [产品::容器; "$路径" ; 创建文件夹:关闭]
    转到记录/请求/页面 [下一步; 最后一步后退出: 打开]
End Loop