使用相关表 > 使用入口内的相关数据
 

使用入口内的相关数据

当在入口中显示相关数据时,会显示所有相关记录的值,这取决于用户的访问权限。相比较而言,当相关字段不在入口中时,会显示第一个相关记录的值

入口数据的排序

要对入口中的相关记录排序,使用"编辑关系"对话框。请参阅创建和更改关系。当选择"对记录排序"且入口中相关字段中的数据更改时,会在每次重新解析相关记录时对入口记录重新排序。(例如,当您在记录外浏览然后重新进入记录进行浏览时,或当更改匹配字段中的值时,记录会重新排序。)(要更好地控制刷新排序顺序的时间,请使用刷新入口脚本步骤。)

"入口设置"对话框中指定的排序顺序优先于"编辑关系"对话框中指定的排序顺序。如果入口或关系均未指定排序顺序,相关记录将按照各自的创建顺序显示在入口中。请参阅创建显示相关记录的入口

过滤入口中的记录

您可以过滤记录以在入口中显示不同的相关记录集。

1. 布局模式中,双击入口。

2. 选择"过滤入口记录"。

3. 定义一个解析为"真" (True) 的算式以显示入口记录。

例如,您在发票布局中,在显示"行项目"表中产品记录的入口中。为仅显示数量大于或等于 1 的产品,使用公式 If (LineItems::数量< 1; 0; 1)

重要事项  合计字段、计算和查找请求的结果基于所有相关记录集,而非仅基于过滤出的入口记录。例如,如果入口显示过滤的记录子集,且入口外有汇总这些记录的"总计"汇总字段,则汇总字段将计算全部相关记录的总和,而非仅计算所显示的记录。要将来自过滤的入口记录的数据用于合计字段、计算或查询请求,需要与过滤入口记录使用相同的标准来新建一个关系,然后将来自该关系的相关字段用于合计字段、计算或查询请求。

汇总入口中的数据

您可以汇总入口中显示的相关字段中的数据。例如,您可以获得所有相关记录的总额。

为此,在显示的相关记录所在的表("入口设置"对话框中显示的表)中放置一个合计字段。将此合计字段放在包含入口的布局上。

假设布局使用入口来显示每位销售人员的所有销售额,您想加入一个显示销售总计的合计字段。

使用这个简单的示例来对入口中的数据求合:

1. 创建两个带有以下字段的表:

 

表名称

字段名

字段类型

注释

销售额

交易 ID

文本

主键

 

销售员 ID

文本

外键

 

金额

数字

 

 

销售总计

合计

计算金额字段的合计值;见定义合计字段

销售员

销售员 ID

文本

主键

 

姓名

文本

 

2. 关系图中,在两个"销售员 ID"字段之间创建关系。

3. 布局模式中,将销售表的四个字段添加到销售额布局(如果尚未自动添加这些字段)。将销售员表的两个字段添加到销售员布局。

4. 在销售员布局上,创建入口以显示来自销售额表的相关记录。在入口中加入来自销售额表的以下相关字段:交易 ID、金额、销售总计。

您还可以将合计字段(销售额::销售总计)放在销售员布局上的任何位置。请参阅在布局上放置和删除字段

5. 切换到浏览模式,并将以下记录添加到销售额表:

 

记录号

字段

数据

1

交易 ID

T1

 

销售员 ID

S1

 

金额

246.00

2

交易 ID

T2

 

销售员 ID

S2

 

金额

52.75

3

交易 ID

T3

 

销售员 ID

S1

 

金额

10.50

4

交易 ID

T4

 

销售员 ID

S2

 

金额

150.00

5

交易 ID

T5

 

销售员 ID

S1

 

金额

17.80

FileMaker Pro Advanced 填入"销售总计"字段的值。

6. 切换到销售员布局,并添加以下数据:

 

记录号

字段

数据

1

销售员 ID

S1

 

姓名

Andre Common

2

销售员 ID

S2

 

姓名

Sophie Tang

FileMaker Pro Advanced 把来自"销售额"表的相关值输入该入口的行,并在"销售总计"汇总字段中计算此销售员的所有销售额的合计值。

注释 

"入口设置"对话框中的入口过滤和排序选项不可用于显示当前表中记录的入口。请参阅为主从布局创建入口

您可以在同一页面上的多个入口中显示单个关系的数据,并可以针对每个入口使用不同的排序顺序。

过滤记录只是为了显示,而不是为了安全考虑。

入口过滤的计算结果将与相关表中计算字段的结果相同。

尽管入口记录中的字段会随数据更改而更新,但只有加载记录后,才会解析入口过滤器。要在加载记录后更新入口过滤,请使用刷新入口脚本步骤

要得到较为复杂的数据合计,请使用计算字段来定义公式。请参阅定义计算字段

相关主题 

创建显示相关记录的入口