Filemaker Loop Through Portal

时间:2013-11-10 22:44:30

标签: loops portal filemaker

我正在尝试创建一个删除所有门户行的循环。但循环并没有停止。 我做错了什么?

Go to Portal Row [Select; First]
Loop
  Delete Portal Row [No Dialog]
  Go To Portal Row [Next; Exit after last]
End Loop

1 个答案:

答案 0 :(得分:1)

我怀疑你的关系图中有Allow creation of related records through this relationship。这意味着门户网站中总会有一条记录,并且该记录无法删除,因为它是用户输入新数据的地方。

您可以将脚本修改为以下内容:

Go to Portal Row [Select; First]
Loop
   Delete Portal Row [No dialog]
   Go to Portal Row [Select; First]
   Exit Loop If [IsEmpty(relationship::index)]
End Loop

其中relationship::index是存储在外表的每个字段中的值。

像这样操纵门户网站可能会非常棘手。您可以考虑使用“转到相关记录”脚本步骤去删除记录。类似的东西:

Set Error Capture [On]
#
# Attempt to go to the related records, creating a new window "delete records"
Go to Related Record [Show only related records; From table: "<relatedtable>"; Using layout: "<relatedlayout>" (<relatedtable>); New window]
#
# If that failed exit the script. We should still be in the same window and layout.
If [not Get ( LastError )]
   Exit Script []
End If
#
# Otherwise delete all found records
Delete All Records [No dialog]
#
# And close the window we created
Close Window [Name: "delete steps"; Current file]
Set Error Capture [Off]