Filemaker 13在不相关的表之间进行计算

时间:2016-05-09 09:32:03

标签: database filemaker

我正在使用这个数据库,我有几个表存储有关收据和费用的信息。

我想做的是制作一种格式,我将整体余额,即(Table1.Receipts_total + Table2.Receipts_total) - (Table3.Expenses_total + Table4.Expenses_total)

这里的主要问题是这些表彼此不相关,而且在FileMaker中处理这方面似乎非常困难。

我认为有一种方法可以运行一个低级的“原始”SQL语句,但我无法做到这一点。

1 个答案:

答案 0 :(得分:0)

首先,我建议您规范化您的数据结构 - 因为无论您对当前的数据结构做什么都只是一个黑客攻击。

无论如何,即使不使用ExecuteSQL(),也很容易获得你想要的数字 - 只需运行一个简单的脚本,如:

Go to Layout [ Table1.Receipts ] 
Show All Records 
Set Variable [ $balance; Value:Table1.Receipts::sTotalAmount ] 
Go to Layout [ Table2.Receipts ] 
Show All Records 
Set Variable [ $balance; Value:$balance + Table2.Receipts::sTotalAmount ] 
Go to Layout [ Table3.Expenses ] 
Show All Records 
Set Variable [ $balance; Value:$balance - Table3.Expenses::sTotalAmount ] 

此时,$balance变量将包含所请求的数字,您可以随意执行任何操作。

注意sTotalAmount字段是三个表中每个表中定义为Total of [Amount]的摘要字段。

或者,您可以使用x关系运算符关联三个表(即创建笛卡尔积关系),然后使用计算,例如在Table1.Receipts表中,=

sTotalAmount + Table2.Receipts::sTotalAmount - Table3.Expenses::sTotalAmount

但我不建议你把它作为一个"直播"布局上的计算字段,因为随着事务数量的增加,这将变得越来越慢。