Filemaker 2013,动态地改变列表

问题描述:

FM脚本noob在这里,给自己一个Filemaker的副本,迄今发现它很有趣。Filemaker 2013,动态地改变列表

但是我想知道当增量超过一定数量时,是否可以限制从列表中显示什么。

例如说我有一个任务列表,附带分钟。

理想情况下,我希望保持总计的分钟数,当他们达到450以上(平均工作日的分钟数)时,它会停止显示更多记录。

基本上这样我可以快速查看我今天可能完成的任务。

或者换句话说是有可能中的Filemaker

复制下面的PHP代码
<?php 

$foo=0; //running total of mins 

foreach($tasks as $task){ 

$foo=$foo + $task['mins']; 

if($foo > 450){break;}else{echo "Task: ".$task['name']."<br>";} 

} 

?> 

基本上总和,这样我可以有一个快速浏览一下大概是什么任务我今天很有可能完成 。

在的Filemaker,你找到要显示的记录(或省略那些你不这样做)。

但是,根据摘要查找是不可能的。恕我直言,您的问题最简单的办法是显示所有任务,并有条件地格式化组你有兴趣,对于条件格式的公式将是=

Tasks::sRunTotal < 450 

其中sRunTotal是汇总字段,的总分钟(运行)。其余的记录将继续显示在下面,没有不良影响,另一种颜色/字体/你会怎么做。

或者,如果你愿意,你可以有超过之前记录的脚本循环:

Tasks::sRunTotal > 450 

然后使用省略Muliple记录[]脚本步骤省略剩余的记录。

+0

这听起来像我脑子里想的那样,所以我需要利用一个按钮,当按下按钮时跑过你提到的脚本? – cosmicsafari 2014-10-10 09:05:38

+0

啊,我明白你的意思了,我该如何创建一个汇总字段? – cosmicsafari 2014-10-10 09:26:53

+0

想到它的划痕,只需在我现有的总结字段上勾选正在运行的总框。 – cosmicsafari 2014-10-10 09:30:11

你可以遍历您的排序任务列表和排位赛任务的主键添加到返回分离全球领域。超过小时数时退出循环。然后使用此全局字段作为指向任务的关系中的源。

Set Variable [ $hours = 0 ] 
Set Variable [ $MaxHours = 8 ] 
Loop 
    Exit Loop If ($hours > $maxHours) 
    Set Field [ myTable::globalKeyField ; myTable::globalKeyField & "¶" & task::id ] 
    Set Variable [ $hours = $hours + myTable::duration ] 
    Go To Record/Request [ Next ] 
End Loop 

我会先在任务数据库中创建运行总数。如果你有一个自引用的TO,按你现有的排序定义排序(不管你用于初始堆栈列表),然后为TotalMinutes创建一个计算字段,定义为Min + sum(totalpriorrecords)。为了简洁起见,我在这里略去了指导,但totalpriorrecords会通过TO关系和您正在使用的现有级别。

您可以通过创建一个TO到任务,与布局的表格关联,布局表格具有一个计算或设置字段MinutesinaDay设置为450,然后使用任务定义REL: :分钟<上下文:MinutesinaDay。在FM13中,我认为你也可以用一些对现有TO的SQL查询技巧更简单地做到这一点,并保存多个TO来抓取你所需要的东西。

一旦你拥有了有限的任务,那么你就可以创造价值列表或门户网站,将只显示项目任务列表高达450