我有一个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; ""]
那么“全选”脚本需要什么?
答案 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[]
时确保备份;没有撤消。