在Filemaker Pro 12中选择当前视图中的全部

时间:2014-10-23 15:50:59

标签: database filemaker

我有一个Filemaker Pro 12数据库,我可以使用复选框对其进行排序和导出,我有一个脚本“选择无”并删除所有勾选的项目,但我希望能够搜索然后检查所有结果。

我在复选框图片上有一个按钮,用于执行设置字段和以下内容:

Case (
 ValueCount ( FilterValues ( Table::Checkbox ; Table::ID ) ) > 0;
 Substitute ( Table::Checkbox ; Table::ID & ¶ ; "" ) ;
 Table::Checkbox & Table::ID & ¶

复选框的条件格式为:

not ValueCount ( FilterValues ( Table::Checkbox ; Table::ID ) ) > 0

“选择无”的脚本是:

Set Field [Table::Checkbox; ""]

那么“全选”脚本需要什么?

2 个答案:

答案 0 :(得分:0)

您可以编写一个脚本来浏览当前找到的集合并获取所有ID:

Set Variable [$currentRecord ; Get(RecordNumber)]
#
Goto Record [First]
Loop
Set Variable [$ids ; Table::ID & ¶ & $ids ]
Go To Record [Next ; Exit after Last]
End Loop
#
Go To Record [By Calculation ; $currentRecord]
# 
Set Field [Table::Checkbox ; $ids ]

此方法将保存您当前的位置,浏览当前找到的集合,将ID编译成变量,返回到您的位置,并设置复选框字段。

答案 1 :(得分:0)

有很多方法可以将找到的集合中的值收集到返回分隔的列表中。如果您的发现设置相当小,循环是好的;否则它可能会太慢。

由于您的目标无论如何都是全局字段,您可以使用简单的:

Replace Field Contents [ No dialog; Table::gCheckbox; List ( Table::gCheckbox ; Table::ID ) ]

这会将当前的find-set值附加到现有列表中。要重新开始,请通过以下方式开始编写脚本:

Set Field [ Table::gCheckbox; "" ]

注意:
在版本13中,您可以使用" List"。

的新摘要字段选项

<强>警告:
在试验Replace Field Contents[]时确保备份;没有撤消。