Loop
重复一组脚本步骤,以执行批量处理。
另请参阅
选项
刷新 指定在循环中何时刷新缓存关系并更新依赖项:
-
始终:对于循环中修改数据的每个步骤,始终刷新所有缓存的关系并更新所有依赖项。这是默认选项,并确保相关数据按预期可用。
-
最小幅度:对于循环中修改数据的每个步骤,刷新缓存关系并更新与当前表摹本仅一个关系的相关数据的依赖项。
-
延迟:当循环开始时,使用当前缓存的关系和数据。等到循环退出以刷新缓存关系并更新依赖项。
兼容性
产品 | 是否支持 |
FileMaker Pro | 是 |
FileMaker Go | 是 |
FileMaker WebDirect | 是 |
FileMaker Server | 是 |
FileMaker Cloud | 是 |
FileMaker Data API | 是 |
自定义 Web 发布 | 是 |
原始版本
6.0 或更低版本
说明
例如,使用 Loop 从搜索结果的所有记录中导出容器字段内容。此脚本步骤和 End Loop 脚本步骤分别标记重复的脚本步骤结构的开始和结尾。该脚本执行包含在循环结构中的脚本步骤,直到遇到以下某个脚本步骤为止:
- Exit Loop If 脚本步骤
- 转到记录/请求/页面脚本步骤或转到入口行脚本步骤(如果选择了“最后一步后退出”选项)
每个 Loop 步骤在其后的某个位置必须有一个相同缩进的对应 End Loop 步骤。每次使用 Loop 脚本步骤时,脚本编辑面板都会自动输入 End Loop 步骤。
注释
-
是否更改 刷新 选项取决于数据库的设计。一般来说,如果您的循环不修改影响关系的数据,则“延迟”可能是最快的选择。但是,如果它确实修改了此类数据,并且数据只有一个关系,请尝试最小值。否则,将其设置为“始终”。有关更多信息,请参阅 这个 Claris 工程博客帖子。
示例 1
将“客户::工作电话”的内容拷贝到所有记录的“客户::日常联系”中。
复制
转到记录/请求/页面 [第一个]
Loop [ 刷新: 始终 ]
设置字段 [客户::日常联系; 客户::工作电话]
转到记录/请求/页面 [下一步; 最后一步后退出: 打开]
End Loop
示例 2
使用 Loop 语句依次对记录进行处理以导出“容器”字段中的文件。
复制
设置变量 [$路径; 值:Get ( 文档路径 ) & 产品::容器]
转到记录/请求/页面 [第一个]
Loop [ 刷新: 始终 ]
导出字段内容 [产品::容器; "$路径" ; 创建文件夹:关闭]
转到记录/请求/页面 [下一步; 最后一步后退出: 打开]
End Loop