决定相关字段的位置
您可以将来自相关表的字段直接放到布局中,也可以放到入口中:
直接放到布局中:将相关字段直接放置在布局上可显示来自第一个相关记录的数据,即使在有多个相关记录与关系条件匹配时也是如此。(关系是否指定排序顺序决定了显示的第一条相关记录。)
在入口中:将相关字段放到布局中的入口内,以显示匹配关系条件的所有相关记录中的数据。
例如,在“发票”数据库的“发票”布局中,您可能会执行以下操作:
将显示“客户”数据库数据的相关字段放到发票中,这些数据如客户的 ID 号码和联系信息。(匹配字段为“客户 ID”。)在“客户”数据库中,每个客户 ID 只有一条记录,因此发票上的每个相关字段都显示该客户的数据。
将显示最近的“订单历史”数据库“订单日期”字段值的相关字段放到发票中。(此外,匹配字段为“客户 ID”。)如果客户下达了多个订单,“订单历史”中就会出现多个与此客户的“客户 ID”匹配的记录。定义关系时,如果在“订单日期”字段中指定一个排序顺序,最新的日期将在相关字段直接放到布局(而非入口)上时显示在该字段中。
将显示有关每个订购商品的数据的相关字段放到发票中,例如产品 ID、产品名称、单价等。(匹配字段是“订单 ID”。)由于绝大多数情况下发票上都会有多种产品(要显示不止一条相关记录),您需要创建一个入口来保存这些相关字段。入口中的每行将显示一条相关记录,包括您从“商品”数据库中选择的相关字段。
FileMaker Pro 如何为入口中的相关字段解析参考
在入口中放入相关字段时,FileMaker Pro 会使用两个起始点中的一个来解析要显示的相关数据:入口表中的记录,或者是布局表中的记录。起始点非常重要,因为它会影响字段显示的相关数据。
FileMaker Pro 基于关系图中以下这两个表之间的关系路径来决定使用哪个起始点:
布局表
字段表(包含放入的字段的表)
如果从布局表到字段表的关系路径包括入口表,则入口表中的记录就是起始点。否则,布局表中的记录为起始点。
例如,以下关系图显示学校入学注册的数据库。该数据库包含为教师、班级和学生创建的表,以及指示哪些学生在哪个班级的入学注册表。还包括一个顾问表(教师表的另一个摹本),该表为每个学生指派一个指导教授。
某个学校的入学注册数据库中的五张表之间的关系示例
考虑下面的布局,它显示了班级中的注册学生。布局表是“班级”,入口表是“学生”。
布局上的入口示例
下表描述了 FileMaker Pro 如何为从不同的表中放入此入口中的四个字段确定起始点。
 
放入的字段
从布局表到字段表的路径
路径包括入口表吗?
正在启动起始点
注释
名称字段来自“学生”表
班级-入学注册-学生
入口记录
放入的字段来自于入口表(一个非常常见的事件)。该字段将在每个入口行中显示一个入学的学生。
名称字段来自“顾问”表
班级-入学注册-学生-顾问
入口记录
放入的字段将在每个入口行中显示一个学生顾问。
“教师”表中的姓名
班级-教师
布局记录
放入的字段将在每个入口行中重复该班级的教师,而不是对每个学生都使用第一个相关教师值。
“班级”表中的班级名称
班级
布局记录
放入的字段来自于布局表(一个不常见的事件)。该字段将在每个入口行中重复班级的名称,如果布局在入口外的其他位置也包括“班级名称”字段,则该字段为多余数据。
除了放入入口中的字段外,FileMaker Pro 还使用此方法决定入口字段的其他参考的起始点:
值列表:当值列表定义为只包括某个字段的相关值,并且入口中某个字段的格式设置为显示此值列表。(起始点决定显示在值列表中的值。)
计算:在入口为激活状态的情况下脚本化的计算参考字段时。
通常,FileMaker Pro 决定要显示的正确相关数据。然而,通过修改关系图以包括其他表和关系,然后更改入口中参考的相关字段,可以更改起始点。
相关主题
处理布局上的字段
在布局中放置字段以及从布局中删除字段
创建显示相关记录的入口
使用相关表
只包括相关字段值的值列表示例