Filemaker 13 在不相关表中的计算

Filemaker 13 calculations among unrelated tables

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

我想做的是生成一种格式,我把总余额放在其中,即 (Table1.Receipts_total + Table2.Receipts_total) - ( Table3.Expenses_total + Table4.Expenses_total )

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

我认为有一种方法可以运行低级 "raw" SQL 语句,但我无法做到。

首先,我建议您规范化您的数据结构 - 因为您对当前数据结构所做的任何操作都只是一种 hack。

无论如何,即使不使用 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 字段是在三个 table 中的每一个中定义为 Total of [Amount] 的汇总字段。


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

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

但我不建议您将其作为 "live" 计算字段放置在布局上,因为随着交易数量的增加,这会变得越来越慢。