计算filemaker中的实际经过天数?


2

如何让Filemaker始终单独显示存储在布局字段中的给定日期的实际经过天数?

我将今天的日期输入数据库。当我今天查看我的观点时,应该有一个单独的文本字段说0天。在一周内,这个文本字段应该说7天。


你有没试过这个?
Ecnerwal 2015年

Answers:


0

Field StoredDate

单独的字段ElapsedDays

(文本?为什么你想要一个数字是文本?如果学生真的想要那么转换留给学生练习。很容易找到...)

ElapsedDays,类型是计算,Button [Options] Get(CurrentDate) - StoredDate

按钮[存储选项]检查不存储计算结果 - 根据需要重新计算

如果您不更改存储选项,它将在创建时运行,并且不会更改。这是在当前日期更改时更改它的关键设置。

如果出于一些奇怪的原因,你真的想在字段中存储不变的文本“天”以及数字,这也可以在计算中完成,这只会使它更加乏味。

GetAsText(Get(CurrentDate) - StoredDate)&“days”

所以,480天后,甚至没有一个upvote?我知道这是我回答后的480天,因为它有效,而且我还有测试数据库,我一起测试它...


0

当然,有很多方法可以实现这一目标。这取决于您的解决方案以及您希望计算如何显示在布局上。

使用FileMaker 14可以在不使用数据表中的未存储计算的情况下完成此操作。您可以使用“ 隐藏时间”直接在布局上利用Filemaker的计算引擎简单文本对象上计算时。也可以使用一个按钮。

假设你在一个字段中有一个存储的日期,我们在这个例子中称之为Table :: myDate,其中Table是你的表名和myDate是你的日期字段,存储日期。

布局

  • 在您想要的布局上进入布局模式。(+ L OR control+L Windows上的)
  • 插入一个新的Text对象并输入一个Merge变量(合并变量可以是LocalGlobal。在这种情况下你可以使用一个局部变量,在放置或刷新布局时将丢弃它。)你可以使用任何你希望有一个变量名,我们将$daysElapsed在这个例子中使用。因此,您的文本对象将<<$daysElapsed>>作为文本输入。
  • 转到检查器窗格中的“ 数据”选项卡
  • 转到计算时隐藏
  • 使用Let()我们可以利用Filemaker的计算引擎,而无需向表中添加字段。像这样输入一个let语句:
    Let ( $daysElapsed = Get ( CurrentDate ) - Table::myDate ; False )
    这会在Layout的条目上自动设置$ daysElapsed变量。从而显示过去的日子。False在Let语句中返回结果允许始终显示对象。请参阅下面的截图。

要向其添加文本,只需将其添加到计算中,或者可以在Merge变量声明之前直接添加到文本对象中。像这样:
Days elapsed: <<$daysElapsed>>

布局模式

浏览模式

天已过去计算

检查器窗格 - 在...时隐藏对象

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.